Python爬蟲學(xué)習(xí)筆記(1.2)爬取現(xiàn)實(shí)頁面

示例網(wǎng)頁用豆瓣電影top250织狐。豆瓣top250其實(shí)是一個多頁面的爬取芹血,并沒有什么可怕之處藐窄,首先做第一個頁面的爬蟲

from bs4 import BeautifulSoup
import requests
import time

url = 'https://movie.douban.com/top250?start=0&filter='

wb_data = requests.get(url)
soup = BeautifulSoup(wb_data.text,'lxml')

imgs = soup.select('#content div.pic > a > img')
titles = soup.select('#content div.info > div.hd > a > span')
rates = soup.select('#content span.rating_num')

for img,title,rate in zip(imgs,titles,rates):
    data = {
        'img':img.get('src'),
        'title':title.get_text(),
        'rate':rate.get_text()
    }
    print(data)

OK资昧,做完一個之后其實(shí)工作完成了大半,接下來稍微修改即可荆忍。

B71EFAAF-4FD4-4F74-BF68-905593E48EBF.png
8401C0A7-1833-495D-88A5-2D0E1EB8A850.png

上面兩張圖是豆瓣top250第一頁和第二頁的鏈接格带,不難看出只有start后面的數(shù)字在發(fā)生改變,其實(shí)這個數(shù)字代表的就是每個頁面的加載量刹枉,每頁都會加載25個電影叽唱,找到這個規(guī)律后我們使用列表推導(dǎo)式完成多頁面的集合,修改上面的url行如下微宝。

urls = ['https://movie.douban.com/top250?start={}&filter='.format(str(i)) for i in range(0,250,25)]

之后將這些代碼都封裝進(jìn)一個函數(shù)中棺亭,用for循環(huán)讀出即可,最終代碼如下蟋软。

from bs4 import BeautifulSoup
import requests
import time

urls = ['https://movie.douban.com/top250?start={}&filter='.format(str(i)) for i in range(0,250,25)]

def get_attractions(url,data=None):
    wb_data = requests.get(url)
    time.sleep(2)
    soup = BeautifulSoup(wb_data.text,'lxml')

    imgs = soup.select('#content div.pic > a > img')
    titles = soup.select('#content div.info > div.hd > a > span')
    rates = soup.select('#content span.rating_num')

    if data == None:
        for img,title,rate in zip(imgs,titles,rates):
            data = {
                'img':img.get('src'),
                'title':title.get_text(),
                'rate':rate.get_text()
            }
            print(data)

for single_url in urls:
    get_attractions(single_url)

這里引入了python的time模塊镶摘,使用它的sleep()方法來推遲調(diào)用線程的運(yùn)行,這里用來讓爬蟲每隔兩秒請求一次岳守,可以防止有的網(wǎng)站因?yàn)轭l繁的請求把我們IP封掉凄敢。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市湿痢,隨后出現(xiàn)的幾起案子涝缝,更是在濱河造成了極大的恐慌,老刑警劉巖譬重,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拒逮,死亡現(xiàn)場離奇詭異,居然都是意外死亡臀规,警方通過查閱死者的電腦和手機(jī)消恍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來以现,“玉大人狠怨,你說我怎么就攤上這事∫囟簦” “怎么了佣赖?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長记盒。 經(jīng)常有香客問我憎蛤,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任俩檬,我火速辦了婚禮萎胰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棚辽。我一直安慰自己技竟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布屈藐。 她就那樣靜靜地躺著榔组,像睡著了一般。 火紅的嫁衣襯著肌膚如雪联逻。 梳的紋絲不亂的頭發(fā)上搓扯,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天,我揣著相機(jī)與錄音包归,去河邊找鬼锨推。 笑死,一個胖子當(dāng)著我的面吹牛公壤,可吹牛的內(nèi)容都是我干的爱态。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼境钟,長吁一口氣:“原來是場噩夢啊……” “哼锦担!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起慨削,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤洞渔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缚态,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體磁椒,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年玫芦,在試婚紗的時候發(fā)現(xiàn)自己被綠了浆熔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡桥帆,死狀恐怖医增,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情老虫,我是刑警寧澤叶骨,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站祈匙,受9級特大地震影響忽刽,放射性物質(zhì)發(fā)生泄漏天揖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一跪帝、第九天 我趴在偏房一處隱蔽的房頂上張望今膊。 院中可真熱鬧,春花似錦伞剑、人聲如沸斑唬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至腰素,卻和暖如春聘裁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弓千。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工衡便, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人洋访。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓镣陕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親姻政。 傳聞我的和親對象是個殘疾皇子呆抑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容