国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python爬取豆瓣電影排行前250獲取電影名稱和網(wǎng)絡(luò)鏈接[靜態(tài)網(wǎng)頁]————爬蟲實(shí)例(1)

這篇具有很好參考價(jià)值的文章主要介紹了python爬取豆瓣電影排行前250獲取電影名稱和網(wǎng)絡(luò)鏈接[靜態(tài)網(wǎng)頁]————爬蟲實(shí)例(1)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

1.算法原理:

2.程序流程:

3.程序代碼:

4.運(yùn)行結(jié)果(部分結(jié)果展示):

5.結(jié)果分析:


1.算法原理:

(1)利用import命令導(dǎo)入模塊或者導(dǎo)入模塊中的對象;

①利用requests庫獲取數(shù)據(jù);

②用BeautifulSoup庫將網(wǎng)頁源代碼轉(zhuǎn)換成BeautifulSoup類型,以便于數(shù)據(jù)的解析和處理;

③用time庫進(jìn)行時(shí)間延時(shí),避免訪問速度過快被封禁(封禁后會一段時(shí)間內(nèi)無法進(jìn)行對網(wǎng)址的訪問);

(2)利用resquests.get()獲取的數(shù)據(jù),其中第一個(gè)參數(shù)為網(wǎng)頁鏈接,第二個(gè)參數(shù)為請求頭Headers,返回的數(shù)據(jù)類型為字符串類型網(wǎng)頁源代碼;

(3)利用BeautifuSoup()命令將獲取的網(wǎng)頁源代碼轉(zhuǎn)化為BeautifuSoup對象,第一個(gè)參數(shù)為要解析的HTML文本,即網(wǎng)頁源代碼,第二個(gè)參數(shù)為解析HTML的解析器;

(4)利用CSS選擇器,找到我們所需要的數(shù)據(jù),在CSS選擇器中,“#”表示id,“.”表示class;

(5)tag(標(biāo)簽)對象的常用屬性/方法

屬性/方法 作用
tag.find() 返回符合條件的首個(gè)數(shù)據(jù)
tag.find_all() 返回符合條件的所有數(shù)據(jù)
tag.text 獲取標(biāo)簽的文本內(nèi)容
tag['屬性名'] 獲取標(biāo)簽HTML屬性的值

例如:

python爬取豆瓣電影排行前250獲取電影名稱和網(wǎng)絡(luò)鏈接[靜態(tài)網(wǎng)頁]————爬蟲實(shí)例(1)

(6)字符串的format格式:<模板字符串>.format(<以逗號分隔的參數(shù)>),format()中參數(shù)和前面的{}順序一 一對應(yīng)例如:

print('我是{},來自{}。'.format('小浪','中國'))

也可以在{}中加入序號,format()括號中類似列表進(jìn)行讀取,序號對應(yīng)列表的下標(biāo),例如:

print('我是{1},來自{0}。'.format('中國','小浪'))

也可以給占位符{}命名,例如:

print('我是{name},來自{country}。'.format(country='中國',name='小浪'))

以上三種都輸出:我是小浪,來自中國。

2.程序流程:

(1)利用import導(dǎo)入第三方庫requests,time和bs4庫中的BeautifulSoup;

(2)創(chuàng)建get_film函數(shù),形參為變量link(用于傳入網(wǎng)址,因?yàn)槊宽撝挥?5部電影,爬取250部,每個(gè)網(wǎng)頁鏈接末尾的查詢字符串會有所不同)

(3)為了應(yīng)對反爬蟲機(jī)制,這里修改請求頭,將網(wǎng)頁中User-Agent字段定義為字典,傳入requests.get()命令中,賦值給變量res(當(dāng)然,也有其他的方法,比如通過別的IP訪問網(wǎng)站,具體請自己查看requests的官方文檔:https://cn.python-requests.org/zh_CN/latest/);

①:?打開豆瓣電影top250排行版,右擊(以搜狗瀏覽器為例)--->審查元素,點(diǎn)擊方塊內(nèi)圖標(biāo)python爬取豆瓣電影排行前250獲取電影名稱和網(wǎng)絡(luò)鏈接[靜態(tài)網(wǎng)頁]————爬蟲實(shí)例(1)

?②:隨便點(diǎn)擊一個(gè)電影名,以《肖申克的救贖》為例,網(wǎng)頁加載完畢點(diǎn)擊Network標(biāo)簽,里面可能為空的,刷新一下網(wǎng)頁就好了。點(diǎn)擊Network——>name中第一個(gè)標(biāo)簽——>找到Requests Headers標(biāo)簽——>找到User-Agent字段。

python爬取豆瓣電影排行前250獲取電影名稱和網(wǎng)絡(luò)鏈接[靜態(tài)網(wǎng)頁]————爬蟲實(shí)例(1)

python爬取豆瓣電影排行前250獲取電影名稱和網(wǎng)絡(luò)鏈接[靜態(tài)網(wǎng)頁]————爬蟲實(shí)例(1)

?(4)將res.text(源代碼的字符串格式)傳給BeautifulSoup命令,并且用Python內(nèi)置的解析器html.parser,賦值給變量soup;

?(5)利用CSS選擇器找到標(biāo)簽為div,class="hd"的所有元素(隨便點(diǎn)擊一部電影名稱,以《肖申克的救贖》為例,觀察到的規(guī)律為電影鏈接、電影名分布在標(biāo)簽為:div,class="hd"的標(biāo)簽“a”中),傳入soup.select()命令中,賦值給item

python爬取豆瓣電影排行前250獲取電影名稱和網(wǎng)絡(luò)鏈接[靜態(tài)網(wǎng)頁]————爬蟲實(shí)例(1)

?(6)遍歷item中的所有元素,觀察發(fā)現(xiàn)鏈接在標(biāo)簽a中的href屬性中,電影名在標(biāo)簽a中第一個(gè)標(biāo)簽span的文本中,此時(shí)用find命令可以找到第一個(gè)符合條件的元素,找到第一個(gè)標(biāo)簽其中的文本內(nèi)容,并輸出電影名和電影鏈接;

python爬取豆瓣電影排行前250獲取電影名稱和網(wǎng)絡(luò)鏈接[靜態(tài)網(wǎng)頁]————爬蟲實(shí)例(1)

(7)觀察豆瓣10頁的網(wǎng)頁鏈接(每頁25個(gè)電影,其實(shí)就觀察幾頁就可以發(fā)現(xiàn)規(guī)律):

https://movie.douban.com/top250?start=0&filter=(第一頁,從一開始網(wǎng)頁打開沒有問號后的查詢字符串,從其他頁跳到第一頁就有了,第一頁帶查詢字符串和不帶查詢字符串打開內(nèi)容相同)

https://movie.douban.com/top250?start=25&filter=(第二頁)

https://movie.douban.com/top250?start=50&filter=(第三頁)

通過以上三個(gè)網(wǎng)頁鏈接的對比發(fā)現(xiàn),只有start后面的發(fā)生了改變,那么就可以利用字符串的format格式,進(jìn)行創(chuàng)建字符串列表link_all

(8)遍歷10頁網(wǎng)頁,傳入之前建立的函數(shù)get_film,利用time.sleep()進(jìn)行延時(shí)爬取,防止訪問速度過快被對方服務(wù)器封禁。

3.程序代碼:

import requests
import time
from bs4 import BeautifulSoup

def get_film(link):
    headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0'}
    res=requests.get(link,headers=headers)

    soup=BeautifulSoup(res.text,'html.parser')
    items=soup.select('div.hd a')
    for i in items:
        name=i.find('span').text
        link_film=i['href']
        print('電影名:',name,'網(wǎng)址:',link_film)

l='https://movie.douban.com/top250?start={}&filter='
link_all=[l.format(i*25) for i in range(10)]
for i in range(10):
    get_film(link_all[i])
    time.sleep(1)

4.運(yùn)行結(jié)果(部分結(jié)果展示):

python爬取豆瓣電影排行前250獲取電影名稱和網(wǎng)絡(luò)鏈接[靜態(tài)網(wǎng)頁]————爬蟲實(shí)例(1)

5.結(jié)果分析:

? ? ?程序獲取的結(jié)果與預(yù)期結(jié)果相同,在找到電影名的過程中可以使用find和find_all命令,可以不使用CSS選擇器,也可以將電影名存到txt文檔,或者excel文檔中,便于儲存。此程序僅演示豆瓣電影名、電影網(wǎng)絡(luò)鏈接,其他靜態(tài)網(wǎng)頁也可通過此方法進(jìn)行爬取。文章來源地址http://www.zghlxwxcb.cn/news/detail-415693.html

到了這里,關(guān)于python爬取豆瓣電影排行前250獲取電影名稱和網(wǎng)絡(luò)鏈接[靜態(tài)網(wǎng)頁]————爬蟲實(shí)例(1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python爬蟲小練習(xí)——爬取豆瓣電影top250

    python爬蟲小練習(xí)——爬取豆瓣電影top250

    將爬取的數(shù)據(jù)導(dǎo)入到表格中,方便人為查看。 三大功能 1,下載所有網(wǎng)頁內(nèi)容。 2,處理網(wǎng)頁中的內(nèi)容提取自己想要的數(shù)據(jù) 3,導(dǎo)入到表格中 https://www.bilibili.com/video/BV1CY411f7yh/?p=15

    2024年01月17日
    瀏覽(22)
  • Python爬蟲實(shí)戰(zhàn)-批量爬取豆瓣電影排行信息

    Python爬蟲實(shí)戰(zhàn)-批量爬取豆瓣電影排行信息

    大家好,我是python222小鋒老師。 近日鋒哥又卷了一波Python實(shí)戰(zhàn)課程-批量爬取豆瓣電影排行信息,主要是鞏固下Python爬蟲基礎(chǔ) 視頻版教程: Python爬蟲實(shí)戰(zhàn)-批量爬取豆瓣電影排行信息 視頻教程_嗶哩嗶哩_bilibili Python爬蟲實(shí)戰(zhàn)-批量爬取豆瓣電影排行信息 視頻教程作者:小鋒老師

    2024年02月05日
    瀏覽(30)
  • python爬蟲——爬取豆瓣top250電影數(shù)據(jù)(適合初學(xué)者)

    python爬蟲——爬取豆瓣top250電影數(shù)據(jù)(適合初學(xué)者)

    爬取豆瓣top250其實(shí)是初學(xué)者用于練習(xí)和熟悉爬蟲技能知識的簡單實(shí)戰(zhàn)項(xiàng)目,通過這個(gè)項(xiàng)目,可以讓小白對爬蟲有一個(gè)初步認(rèn)識,因此,如果你已經(jīng)接觸過爬蟲有些時(shí)間了,可以跳過該項(xiàng)目,選擇更有挑戰(zhàn)性的實(shí)戰(zhàn)項(xiàng)目來提升技能。當(dāng)然,如果你是小白,這個(gè)項(xiàng)目就再適合不過

    2024年02月07日
    瀏覽(23)
  • Python網(wǎng)頁爬蟲爬取豆瓣Top250電影數(shù)據(jù)——Xpath數(shù)據(jù)解析

    Python網(wǎng)頁爬蟲爬取豆瓣Top250電影數(shù)據(jù)——Xpath數(shù)據(jù)解析

    1.1 查看原頁面信息 首先打開豆瓣Top250電影頁面,其網(wǎng)址是:https://movie.douban.com/top250。 可以發(fā)現(xiàn),該頁面展示的電影信息有中英文電影名、導(dǎo)演、主演、上映年份、國籍、電影類型、評分等。 下滑到頁面底部,發(fā)現(xiàn)第一頁有25部電影的數(shù)據(jù),并且可以點(diǎn)擊頁碼數(shù)實(shí)現(xiàn)頁面跳轉(zhuǎn)

    2024年02月05日
    瀏覽(29)
  • [Python練習(xí)]使用Python爬蟲爬取豆瓣top250的電影的頁面源碼

    [Python練習(xí)]使用Python爬蟲爬取豆瓣top250的電影的頁面源碼

    在終端中輸入以下代碼(直接在cmd命令提示符中,不需要打開Python) 從豆瓣網(wǎng)提供的鏡像網(wǎng)站下載requests第三方庫 是從國外網(wǎng)站下載,速度慢甚至有時(shí)候無法下載 運(yùn)行代碼之后,沒反應(yīng),無輸出結(jié)果 可以看一下返回的頁面請求狀態(tài)碼是多少: 狀態(tài)碼是 418 ,所有4開頭的狀態(tài)

    2024年01月17日
    瀏覽(23)
  • 爬蟲項(xiàng)目實(shí)戰(zhàn):利用基于selenium框架的爬蟲模板爬取豆瓣電影Top250

    爬蟲項(xiàng)目實(shí)戰(zhàn):利用基于selenium框架的爬蟲模板爬取豆瓣電影Top250

    ?? Hi, I’m @貨又星 ?? I’m interested in … ?? I’m currently learning … ?? I’m looking to collaborate on … ?? How to reach me … README 目錄(持續(xù)更新中) 各種錯(cuò)誤處理、爬蟲實(shí)戰(zhàn)及模板、百度智能云人臉識別、計(jì)算機(jī)視覺深度學(xué)習(xí)CNN圖像識別與分類、PaddlePaddle自然語言處理知識圖譜、

    2024年02月04日
    瀏覽(32)
  • 爬蟲入門指南(7):使用Selenium和BeautifulSoup爬取豆瓣電影Top250實(shí)例講解【爬蟲小白必看】

    爬蟲入門指南(7):使用Selenium和BeautifulSoup爬取豆瓣電影Top250實(shí)例講解【爬蟲小白必看】

    在本篇博客中,我們將使用 Python 的 Selenium 和 BeautifulSoup 庫來實(shí)現(xiàn)一個(gè)簡單的網(wǎng)頁爬蟲,目的是爬取豆瓣電影TOP250的數(shù)據(jù),并將結(jié)果保存到Excel文件中。 Selenium 是一個(gè)自動(dòng)化測試工具,可以模擬用戶在瀏覽器中的交互操作。我們將使用 Selenium 來打開網(wǎng)頁、獲取網(wǎng)頁源碼。 B

    2024年02月12日
    瀏覽(24)
  • 爬取豆瓣Top250圖書數(shù)據(jù)

    爬取豆瓣Top250圖書數(shù)據(jù)

    項(xiàng)目的實(shí)現(xiàn)步驟 1.項(xiàng)目結(jié)構(gòu) 2.獲取網(wǎng)頁數(shù)據(jù) 3.提取網(wǎng)頁中的關(guān)鍵信息 4.保存數(shù)據(jù) 1.項(xiàng)目結(jié)構(gòu) 2.獲取網(wǎng)頁數(shù)據(jù) 對應(yīng)的網(wǎng)址為https://book.douban.com/top250 3.提取網(wǎng)頁中的關(guān)鍵信息 獲取傳出的解析后的數(shù)據(jù),獲取對應(yīng)的圖片,書名,作者,價(jià)格,評價(jià),簡介 將獲取的數(shù)據(jù)存入到字典中

    2024年02月08日
    瀏覽(26)
  • Python爬蟲:一個(gè)爬取豆瓣電影人像的小案例

    Python爬蟲:一個(gè)爬取豆瓣電影人像的小案例

    從谷歌瀏覽器的開發(fā)工具進(jìn)入 選擇圖片右鍵點(diǎn)擊檢查 翻頁之后發(fā)現(xiàn)網(wǎng)址變化的只有start數(shù)值,每次變化值為30 Python代碼 把爬取的圖片全部放到新建的文件夾中存放

    2024年02月10日
    瀏覽(88)
  • 【Python】爬蟲練習(xí)-爬取豆瓣網(wǎng)電影評論用戶的觀影習(xí)慣數(shù)據(jù)

    【Python】爬蟲練習(xí)-爬取豆瓣網(wǎng)電影評論用戶的觀影習(xí)慣數(shù)據(jù)

    目錄 前言 一、配置環(huán)境 1.1、 安裝Python 1.2、?安裝Requests庫和BeautifulSoup庫 1.3.、安裝Matplotlib 二、登錄豆瓣網(wǎng)(重點(diǎn)) 2.1、獲取代理 2.2、測試代理ip是否可用 2.3、設(shè)置大量請求頭隨機(jī)使用 2.4、登錄豆瓣網(wǎng) 三、爬取某一部熱門電影數(shù)據(jù) 3.1、爬取全部長、短評論 3.2、獲取用戶

    2024年02月09日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包