【爬蟲練習(xí)】運用正則表達(dá)式爬取豆瓣電影排行

1. 實戰(zhàn)任務(wù):運用正則表達(dá)式爬取豆瓣電影排行

  • 爬取網(wǎng)站:https://movie.douban.com/top250
  • 爬取內(nèi)容:電影排行(rank)刮吧,名稱(name)承边,演員(actor),評分(score)毡鉴,評價(comment)崔泵,引用(quote)

2 實戰(zhàn)練習(xí)

2.1 爬蟲思路
  • 用requests庫get請求爬取相關(guān)信息,加入請求頭猪瞬,防止被絆憎瘸;
  • 用re庫對爬取的數(shù)據(jù)進(jìn)行篩選(主要使用findall方法,并添加re.S修飾符)陈瘦;
  • 爬取的數(shù)據(jù)進(jìn)行csv存儲幌甘;
  • 為防止被絆,代碼中加入time sleep(2)痊项,每爬取一次休息2s锅风;
  • 由于進(jìn)行的是跨頁篩選,url找規(guī)律并使用循環(huán)語句鞍泉,爬取信息策略封裝為1個小函數(shù)皱埠,進(jìn)行循環(huán)爬取。
2.2 爬蟲步驟
## 利用正則表達(dá)式爬取豆瓣電影排行(rank,name咖驮,actor边器,score,comment托修,quote)
# 導(dǎo)入庫忘巧,做好存儲預(yù)備工作
import requests
import re
import time
import csv

f = open('C:/Users/home/Desktop/3.csv','w+',encoding='utf-8',newline='')
writer = csv.writer(f)
writer.writerow(['rank','name','actor','score','comment','quote'])


# 加入請求頭,利用requests請求睦刃,爬取數(shù)據(jù)
headers = {
     'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'
 }

url = 'https://movie.douban.com/top250'

# 利用findall方法篩選所需數(shù)據(jù),將該步驟封裝為函數(shù)get_info
def get_info(url):
    res = requests.get(url, headers=headers)
    ranks = re.findall(' <em class="">(.*?)</em>',res.text,re.S)
    names = re.findall('<span class="title">(.*?)</span>.*?<span class="title">&nbsp;/&nbsp;(.*?)</span>.*?<span class="other">&nbsp;/&nbsp;(.*?)  /  (.*?)</span>',res.text,re.S)
    actors = re.findall('<p class="">.*?(.*?)&nbsp;&nbsp;&nbsp;(.*?)...<br>.',res.text,re.S)
    scores = re.findall('<span class="rating_num" property="v:average">(.*?)</span>',res.text,re.S)
    comments = re.findall('<span property="v:best" content="10.0"></span>.*?<span>(.*?)人評價</span>.*?</div>',res.text,re.S)
    quotes = re.findall('<span class="inq">(.*?)</span>',res.text,re.S)

    for rank,name,actor,score,comment,quote in zip(ranks,names,actors,scores,comments,quotes):
        writer.writerow([rank,name,actor,score,comment,quote])


# 設(shè)循環(huán)語句袋坑,循環(huán)爬取數(shù)據(jù),每次中斷2s防止被絆
if __name__ == '__main__':
   urls = ['https://movie.douban.com/top250?start={}&filter='.format(str(i)) for i in range(0,250,25)]
   for url in urls:
       get_info(url)
       time.sleep(2)
2.3 爬蟲結(jié)果
豆瓣電影排行

2.4 存在的問題

上述代碼基本可以獲取想要的數(shù)據(jù),但存在很多問題:

  • 爬取數(shù)據(jù)有間斷枣宫,未獲取250條信息婆誓,原因在哪?
  • 去多余行時難使用.strip()功能也颤,提醒元組不具備該功能洋幻?
  • 如何將電影名不同語言拆分,是在excel里相關(guān)功能執(zhí)行還是python本身有此功能翅娶?
  • def get_info(url):出現(xiàn)過多次如下報錯文留,原因在哪?


    報錯信息
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末竭沫,一起剝皮案震驚了整個濱河市燥翅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蜕提,老刑警劉巖森书,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谎势,居然都是意外死亡凛膏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門脏榆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來猖毫,“玉大人,你說我怎么就攤上這事须喂∮醵希” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵坞生,是天一觀的道長胯府。 經(jīng)常有香客問我,道長恨胚,這世上最難降的妖魔是什么骂因? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮赃泡,結(jié)果婚禮上寒波,老公的妹妹穿的比我還像新娘。我一直安慰自己升熊,他們只是感情好俄烁,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著级野,像睡著了一般页屠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天辰企,我揣著相機(jī)與錄音风纠,去河邊找鬼。 笑死牢贸,一個胖子當(dāng)著我的面吹牛竹观,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播潜索,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼臭增,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了竹习?” 一聲冷哼從身側(cè)響起誊抛,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎整陌,沒想到半個月后拗窃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡蔓榄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年并炮,在試婚紗的時候發(fā)現(xiàn)自己被綠了默刚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甥郑。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖荤西,靈堂內(nèi)的尸體忽然破棺而出澜搅,到底是詐尸還是另有隱情,我是刑警寧澤邪锌,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布勉躺,位于F島的核電站,受9級特大地震影響觅丰,放射性物質(zhì)發(fā)生泄漏饵溅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一妇萄、第九天 我趴在偏房一處隱蔽的房頂上張望蜕企。 院中可真熱鬧,春花似錦冠句、人聲如沸轻掩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽唇牧。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間丐重,已是汗流浹背腔召。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留弥臼,地道東北人宴咧。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像径缅,于是被迫代替她去往敵國和親掺栅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359

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