Python爬蟲實(shí)戰(zhàn)——三爬豆瓣電影TOP250

之前爬取豆瓣電影僅僅是爬取TOP250主頁面上的摘要信息昏鹃,很多信息不夠全面欣簇。這次我更加深入一層宣赔,通過主頁上的電影url鏈接深入到每一部電影的詳情頁面爬取電影信息讨永。

1 思路分析

這次需要分兩步走汞斧,首先從https://movie.douban.com/top250獲得25條電影詳情頁面的url如肖申克的救贖https://movie.douban.com/subject/1292052/夜郁,然后將這個(gè)url通過requests獲取到HTML文檔,最后用Xpath解析文檔獲取信息粘勒。

2 代碼

import requests, re
from lxml import etree
import pandas as pd

headers = {
       'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 \
(KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
    }

#獲取電影信息
def get_movie_info(url):
    r = requests.get(url, headers=headers)
    selector = etree.HTML(r.text)
    movie_hrefs = selector.xpath('//div[@class="hd"]/a/@href')  #電影的詳情地址
    movie_list = []
    
    for movie_href in movie_hrefs:
        r = requests.get(movie_href, headers=headers)
        selector = etree.HTML(r.text)
        #獲取電影信息       
        name = selector.xpath('//*[@id="content"]/h1/span[1]/text()')   #電影名
        director = selector.xpath('//div[@id="info"]/span[1]/span[2]/a/text()')  #導(dǎo)演
        director = director[0] if len(director) >= 1 else "未知"
        actors = selector.xpath('//*[@id="info"]/span[3]/span[2]')      #演員們
        actor = actors[0].xpath('string(.)')  if len(actors) >= 1 else  "未知"     #標(biāo)簽套標(biāo)簽竞端,用string(.)同時(shí)獲取所有文本
        style_list = re.findall('<span property="v:genre">(.*?)</span>', r.text, re.S)          
        style_list = selector.xpath('//*[@property="v:genre"]/text()')
        style = '/'.join(style_list)        #類型
        country = re.findall('<span class="pl">制片國家/地區(qū):</span>(.*?)<br/>', r.text, re.S)[0] #地區(qū)
        release_time = re.findall('上映日期:</span>.*?>(.*?)</span>', r.text, re.S) #上映日期
        score = selector.xpath('//*[@id="interest_sectl"]/div[1]/div[2]/strong/text()')[0] #電影評(píng)分

        # 將電影信息添加到列表中
        movie_list.append([name, director, actor, style, country, release_time, score])

    return movie_list
        
def save_to_csv(movie_list):
    # 將列表轉(zhuǎn)換為DataFrame
    df = pd.DataFrame(movie_list, columns=['電影名', '導(dǎo)演', '演員', '類型', '國家/地區(qū)', '公映時(shí)間', '評(píng)分'])
    # 檢查文件是否存在
    try:
        df.to_csv('douban_top250.csv', mode='x', index=False, encoding='utf_8_sig')
    except FileExistsError:
        df.to_csv('douban_top250.csv', mode='a', header=False, index=False, encoding='utf_8_sig')
    
#主函數(shù)
if __name__ == '__main__':
    base_url = 'https://movie.douban.com/top250?start={}&filter='
    # 遍歷所有頁面
    for i in range(10):
        url = base_url.format(i * 25)

        # 獲取并保存電影信息到CSV文件
        save_to_csv(get_movie_info(url))

3 爬取結(jié)果

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市庙睡,隨后出現(xiàn)的幾起案子事富,更是在濱河造成了極大的恐慌,老刑警劉巖乘陪,帶你破解...
    沈念sama閱讀 221,331評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赵颅,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡暂刘,警方通過查閱死者的電腦和手機(jī)饺谬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谣拣,“玉大人募寨,你說我怎么就攤上這事∩” “怎么了拔鹰?”我有些...
    開封第一講書人閱讀 167,755評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)贵涵。 經(jīng)常有香客問我列肢,道長(zhǎng)恰画,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,528評(píng)論 1 296
  • 正文 為了忘掉前任瓷马,我火速辦了婚禮拴还,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘欧聘。我一直安慰自己片林,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,526評(píng)論 6 397
  • 文/花漫 我一把揭開白布怀骤。 她就那樣靜靜地躺著费封,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蒋伦。 梳的紋絲不亂的頭發(fā)上弓摘,一...
    開封第一講書人閱讀 52,166評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音痕届,去河邊找鬼韧献。 笑死,一個(gè)胖子當(dāng)著我的面吹牛爷抓,可吹牛的內(nèi)容都是我干的势决。 我是一名探鬼主播阻塑,決...
    沈念sama閱讀 40,768評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蓝撇,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了陈莽?” 一聲冷哼從身側(cè)響起渤昌,我...
    開封第一講書人閱讀 39,664評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎走搁,沒想到半個(gè)月后独柑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,205評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡私植,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,290評(píng)論 3 340
  • 正文 我和宋清朗相戀三年忌栅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片曲稼。...
    茶點(diǎn)故事閱讀 40,435評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡索绪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贫悄,到底是詐尸還是另有隱情瑞驱,我是刑警寧澤,帶...
    沈念sama閱讀 36,126評(píng)論 5 349
  • 正文 年R本政府宣布窄坦,位于F島的核電站唤反,受9級(jí)特大地震影響凳寺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜彤侍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,804評(píng)論 3 333
  • 文/蒙蒙 一肠缨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拥刻,春花似錦怜瞒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蒸眠,卻和暖如春漾橙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背楞卡。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國打工霜运, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蒋腮。 一個(gè)月前我還...
    沈念sama閱讀 48,818評(píng)論 3 376
  • 正文 我出身青樓淘捡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親池摧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子焦除,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,442評(píng)論 2 359

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