Requests+re爬取貓眼電影TOP100排行其弊,并保存

一巫橄、準備工作

安裝requests

pip install requests

二、觀察網(wǎng)頁信息

1.目標網(wǎng)站-->貓眼電影TOP100,可以看到每頁有100個電影窑眯,一共有10頁屏积,每個電影分別有排名、電影名稱磅甩、演員炊林、上映時間、評分渣聚,這是我們需要得到的信息,并且我們只需要循環(huán)10次就好了
2.觀察每一頁的URL,點擊第二頁 https://maoyan.com/board/4?offset=10 我們可以看到后面多了個offset=10谭梗,依次點擊會發(fā)現(xiàn)規(guī)律20凄吏、30.....,那么第一頁會是什么呢?我們猜想會不會是https://maoyan.com/board/4?offset=0 使了一下果然ok,那么簡單嘍

  • 構(gòu)造URL函數(shù)
def main(offset):
    url='http://maoyan.com/board/4?offset='+str(offset)
    html=get_one_page(url)
    parser=parser_one_page(html)
    for p in parser:
        write_to_file(p)

if __name__ == '__main__':
   for i in range(10):
       main(offset=i*10)

三难咕、構(gòu)建GET請求

  • 既然URL我們已經(jīng)有了余佃,那么就方便了直接使用requests的get請求
def get_one_page(url):
    headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'}
    try:
        r=requests.get(url,headers=headers)
        r.encoding=r.apparent_encoding
        if r.status_code==200:
            return r.text
        return None
    except:
        print('shibai')
  • 這里面我們使用了headers這個參數(shù)诸蚕,(畢竟要給網(wǎng)站點面子)這個是告訴網(wǎng)站你是個什么東西(好像怪怪的)坏瘩,但是確實我使用的是Chrome瀏覽器和win電腦,如果不設(shè)置這個,網(wǎng)站那邊直接顯示Python程序禁熏,也就是個爬蟲

四隙笆、解析頁面

  • 經(jīng)過第三步的操作我們已經(jīng)得到了一個Response對象您访,里面包含了我們所需要的信息灵汪,那么這步我們就是提取出我們需要的信息渗鬼,一共有這么幾個電影的有排名譬胎、電影名稱脐恩、演員镐侯、上映時間袜瞬、評分身堡,話不多說季稳,上代碼
def parser_one_page(html):
    partern=re.compile('<dd>.*?board-index.*?>(\d+)</i>.*?name"><a.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>'
                         + '.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>', re.S)
    item=re.findall(partern,html)
    for i in item:
        print(i)
        yield {
            '排名': i[0],
            '電影名稱': i[1],
            '演員': i[2].strip()[3:],
            '上映時間': i[3].strip()[5:],
            '評分': i[4] + i[5]
        }
  • 使用正則表達式通用的 (.*?) 來連接標簽擅这,匹配我們想要的內(nèi)容,經(jīng)過這部分之后會看到控制臺依次輸出


    捕獲.JPG

五景鼠、保存爬取的電影信息

  • 我們經(jīng)過上一部分已經(jīng)獲得了top100的信息铛漓,下面我們來把獲得的信息保存起來,我這里是存到本地蒸矛,也可存到數(shù)據(jù)庫里席赂,感興趣的可以自己試下
def write_to_file(content):
    with open('top100.txt','a',encoding='UTF-8') as f:
        f.write(json.dumps(content, ensure_ascii=False) + '\n')
  • 這里保存在你程序的文件夾下癞揉,名字叫做top100以TXT格式,使用UTF-8編碼溺欧,每一行加了換行符喊熟,使用json.dumps對數(shù)據(jù)進行編碼,但是有個問題姐刁,有些文字的ascii 字符碼芥牌,不是真正的中文,這是因為json.dumps 序列化時對中文默認使用的ascii編碼.想輸出真正的中文需要指定ensure_ascii=False

全部代碼-->貓眼電影TOP100github

六聂使、總結(jié)

有這么幾個需要注意的地方

  • 針對網(wǎng)站的反爬壁拉,做好反反爬措施
  • 正則表達式一定要寫對
  • 文件的保存,記得設(shè)置ensure_ascii=False
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末柏靶,一起剝皮案震驚了整個濱河市弃理,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宿礁,老刑警劉巖案铺,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡控汉,警方通過查閱死者的電腦和手機笔诵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姑子,“玉大人乎婿,你說我怎么就攤上這事〗钟樱” “怎么了谢翎?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長沐旨。 經(jīng)常有香客問我森逮,道長,這世上最難降的妖魔是什么磁携? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任褒侧,我火速辦了婚禮,結(jié)果婚禮上谊迄,老公的妹妹穿的比我還像新娘闷供。我一直安慰自己,他們只是感情好统诺,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布歪脏。 她就那樣靜靜地躺著,像睡著了一般粮呢。 火紅的嫁衣襯著肌膚如雪婿失。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天鬼贱,我揣著相機與錄音移怯,去河邊找鬼。 笑死这难,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的葡秒。 我是一名探鬼主播姻乓,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼眯牧!你這毒婦竟也來了蹋岩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤学少,失蹤者是張志新(化名)和其女友劉穎剪个,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體版确,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡扣囊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年乎折,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侵歇。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡骂澄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惕虑,到底是詐尸還是另有隱情坟冲,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布溃蔫,位于F島的核電站健提,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏伟叛。R本人自食惡果不足惜私痹,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望痪伦。 院中可真熱鬧侄榴,春花似錦、人聲如沸网沾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辉哥。三九已至桦山,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間醋旦,已是汗流浹背恒水。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留饲齐,地道東北人钉凌。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像捂人,于是被迫代替她去往敵國和親御雕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

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

  • 參考資料《Python3網(wǎng)絡(luò)爬蟲開發(fā)實踐》滥搭,作者崔慶才 這篇博客參考了崔慶才的《Python3網(wǎng)絡(luò)爬蟲開發(fā)實踐》有...
    橘子柚子橙子_閱讀 3,406評論 0 1
  • 爬取目標 本文將提取貓眼電影 TOP100 排行榜的電影名稱酸纲、時間买喧、評分亿驾、圖片等信息,URL 為http://ma...
    田旭1閱讀 1,629評論 0 0
  • 人擁有的最寶貴的財富是注意力迅脐,注意力屬于我們個人,怎樣去花銷它疾嗅,取決于我們自己外厂。要把注意力花在自己的上。 絕大多數(shù)...
    小咪崽子閱讀 190評論 0 0
  • 大爺爺走了 因為癌癥 我去看他的時候只能喝牛奶 小口小口地吸著 無法吃飯宪迟,無法說話酣衷,無法再打他心愛的麻將 小爺爺走...
    鹿宥宥閱讀 314評論 4 9
  • 智慧背囊中有這樣一句話:“人生走到最后,只剩下身上的傷疤能區(qū)別于他人次泽,不能不讓人有些神傷穿仪。那些疤痕本身,就代表了我...
    i左左閱讀 102評論 0 0