關(guān)于python爬蟲的實(shí)用技巧---【初級(jí)爬蟲應(yīng)用】
【爬取網(wǎng)址】:
https://maoyan.com/board/4?offset=0
【店小二】:各位看官胚宦,是否想看一部電影解解悶?zāi)兀?br> 那就跑一跑下面的程序吧...
import re
import urllib.request
resp = urllib.request.urlopen("https://maoyan.com/board/4?offset=0")
resp.read().decode("utf-8")
# 確定所爬取的網(wǎng)頁(yè)
def load_data(page=1):
offset = (page - 1) * 10
url = "https://maoyan.com/board/4?offset=" + str(offset)
resp = urllib.request.urlopen(url)
return resp.read().decode("utf-8")
#根據(jù)我們的觀察渗钉,貓眼電影的首頁(yè)只有10部電影推薦嘉蕾,因此展父,我們需要轉(zhuǎn)到下一頁(yè)涕滋。
# 網(wǎng)頁(yè)的地址變化
html = load_data(10)
def load_ranking(html):
reg = '<dd.*?<i.*?>(.*?)</i>'
return re.findall(reg, html, re.S)
# 爬取電影名稱
def load_name(html):
reg = '<dd.*?<p\sclass="name".*?><a.*?>(.*?)</a>'
return re.findall(reg, html, re.S)
# 爬取主演者都有誰
def load_info(html):
reg = '<dd.*?<div\sclass="board-item-main".*?<p\sclass="star".*?>(.*?)</p>'
rs = re.findall(reg, html, re.S)
return list(map(str.strip, rs))
# 爬取上映時(shí)間
def load_time(html):
reg = '<dd.*?<div\sclass="board-item-main".*?<p\sclass="releasetime".*?>(.*?)</p>'
rs = re.findall(reg, html, re.S)
return list(map(str.strip, rs))
# 爬取該電影分?jǐn)?shù)
def load_score(html):
reg = '<dd.*?<p\sclass="releasetime".*?<i\sclass="integer".*?>(.*?)</i>'
iteger = re.findall(reg, html, re.S)
reg_frag = '<dd.*?<p\sclass="releasetime".*?<i\sclass="fraction".*?>(.*?)</i>'
fraction = re.findall(reg_frag, html, re.S)
score = list(zip(iteger, fraction))
rs = map(lambda x: str(x[0]) + str(x[1]), score)
return list(rs)
# 將爬取的內(nèi)容存放在一個(gè)名稱為top.txt的文本文件中位喂;
def save_file(html):
records = zip(load_ranking(html), load_name(html), load_info(html), load_time(html), load_score(html))
infos = list(records)
with open("top.txt", 'a+') as f:
for line in infos:
data = "】\t【".join(line)
print(data)
f.writelines(data)
# 換行
f.write("】\n")
save_file(html)
想看啥...這里都有:
【貓眼排名】 【電影名稱】【主演】【上映時(shí)間】【評(píng)分】
1】 【霸王別姬】 【主演:張國(guó)榮,張豐毅,鞏俐】 【上映時(shí)間:1993-01-01】 【9.5】
2】 【肖申克的救贖】 【主演:蒂姆·羅賓斯,摩根·弗里曼,鮑勃·岡頓】 【上映時(shí)間:1994-09-10(加拿大)】 【9.5】
3】 【羅馬假日】 【主演:格利高里·派克,奧黛麗·赫本,埃迪·艾伯特】 【上映時(shí)間:1953-09-02(美國(guó))】 【9.1】
4】 【這個(gè)殺手不太冷】 【主演:讓·雷諾,加里·奧德曼,娜塔莉·波特曼】 【上映時(shí)間:1994-09-14(法國(guó))】 【9.5】
5】 【泰坦尼克號(hào)】 【主演:萊昂納多·迪卡普里奧,凱特·溫絲萊特,比利·贊恩】 【上映時(shí)間:1998-04-03】 【9.5】
6】 【唐伯虎點(diǎn)秋香】 【主演:周星馳,鞏俐,鄭佩佩】 【上映時(shí)間:1993-07-01(中國(guó)香港)】 【9.1】
7】 【魂斷藍(lán)橋】 【主演:費(fèi)雯·麗,羅伯特·泰勒,露塞爾·沃特森】 【上映時(shí)間:1940-05-17(美國(guó))】 【9.2】
8】 【亂世佳人】 【主演:費(fèi)雯·麗,克拉克·蓋博,奧利維婭·德哈維蘭】 【上映時(shí)間:1939-12-15(美國(guó))】 【9.1】
9】 【天空之城】 【主演:寺田農(nóng),鷲尾真知子,龜山助清】 【上映時(shí)間:1992】 【9.1】
10】 【辛德勒的名單】 【主演:連姆·尼森,拉爾夫·費(fèi)因斯,本·金斯利】 【上映時(shí)間:1993-12-15(美國(guó))】 【9.2】
11】 【喜劇之王】 【主演:周星馳,莫文蔚,張柏芝】 【上映時(shí)間:1999-02-13(中國(guó)香港)】 【9.1】
12】 【大鬧天宮】 【主演:邱岳峰,畢克,富潤(rùn)生】 【上映時(shí)間:1965-12-31】 【9.0】
13】 【音樂之聲】 【主演:朱莉·安德魯斯,克里斯托弗·普盧默,埃琳諾·帕克】 【上映時(shí)間:1965-03-02(美國(guó))】 【9.0】
14】 【春光乍泄】 【主演:張國(guó)榮,梁朝偉,張震】 【上映時(shí)間:1997-05-30(中國(guó)香港)】 【9.2】
15】 【剪刀手愛德華】 【主演:約翰尼·德普,薇諾娜·瑞德,黛安·韋斯特】 【上映時(shí)間:1990-12-06(美國(guó))】 【8.8】
16】 【美麗人生】 【主演:羅伯托·貝尼尼,尼可萊塔·布拉斯基,喬治·坎塔里尼】 【上映時(shí)間:1997-12-20(意大利)】 【9.3】
17】 【海上鋼琴師】 【主演:蒂姆·羅斯,普路特·泰勒·文斯,比爾·努恩】 【上映時(shí)間:1998-10-28(意大利)】 【9.2】
18】 【黑客帝國(guó)】 【主演:基努·里維斯,凱瑞-安·莫斯,勞倫斯·菲什伯恩】 【上映時(shí)間:2000-01-14】 【9.0】
19】 【指環(huán)王3:王者無敵】 【主演:伊萊賈·伍德,伊恩·麥克萊恩,麗芙·泰勒】 【上映時(shí)間:2004-03-15】 【9.2】
20】 【哈利·波特與魔法石】 【主演:丹尼爾·雷德克里夫,魯伯特·格林特,艾瑪·沃特森】 【上映時(shí)間:2002-01-26】 【9.1】
21】 【楚門的世界】 【主演:金·凱瑞,勞拉·琳妮,諾亞·艾默里奇】 【上映時(shí)間:1998-06-01(美國(guó))】 【8.9】
22】 【加勒比海盜】 【主演:約翰尼·德普,凱拉·奈特莉,奧蘭多·布魯姆】 【上映時(shí)間:2003-11-21】 【8.9】
23】 【射雕英雄傳之東成西就】 【主演:張國(guó)榮,梁朝偉,張學(xué)友】 【上映時(shí)間:1993-02-05(中國(guó)香港)】 【8.9】
24】 【無間道】 【主演:劉德華,梁朝偉,黃秋生】 【上映時(shí)間:2003-09-05】 【9.1】
25】 【教父2】 【主演:阿爾·帕西諾,羅伯特·德尼羅,黛安·基頓】 【上映時(shí)間:1974-12-12(美國(guó))】 【9.0】
26】 【蝙蝠俠:黑暗騎士】 【主演:克里斯蒂安·貝爾,希斯·萊杰,阿倫·伊克哈特】 【上映時(shí)間:2008-07-18(美國(guó))】 【9.3】
27】 【機(jī)器人總動(dòng)員】 【主演:本·貝爾特,艾麗莎·奈特,杰夫·格爾林】 【上映時(shí)間:2008-06-27(美國(guó))】 【9.3】
28】 【指環(huán)王1:護(hù)戒使者】 【主演:伊萊賈·伍德,伊恩·麥克萊恩,麗芙·泰勒】 【上映時(shí)間:2002-04-04】 【9.0】
29】 【指環(huán)王2:雙塔奇兵】 【主演:伊萊賈·伍德,伊恩·麥克萊恩,麗芙·泰勒】 【上映時(shí)間:2003-04-25】 【9.1】
30】 【天堂電影院】 【主演:菲利浦·諾瓦雷,賽爾喬·卡斯特利托,蒂茲亞娜·羅達(dá)托】 【上映時(shí)間:1988-11-17(意大利)】 【9.2】
31】 【活著】 【主演:葛優(yōu),鞏俐,牛犇】 【上映時(shí)間:1994-05-18(法國(guó))】 【9.0】
32】 【獅子王】 【主演:馬修·布羅德里克,尼基塔·卡蘭姆,詹姆斯·厄爾·瓊斯】 【上映時(shí)間:1995-07-15】 【8.8】
33】 【拯救大兵瑞恩】 【主演:湯姆·漢克斯,馬特·達(dá)蒙,湯姆·塞茲摩爾】 【上映時(shí)間:1998-11-13】 【8.9】
34】 【哈爾的移動(dòng)城堡】 【主演:倍賞千惠子,木村拓哉,美輪明宏】 【上映時(shí)間:2004-11-20(日本)】 【9.0】
35】 【忠犬八公的故事】 【主演:Forest,理查·基爾,瓊·艾倫】 【上映時(shí)間:2010-03-12(英國(guó))】 【9.3】
36】 【瘋狂原始人】 【主演:尼古拉斯·凱奇,艾瑪·斯通,瑞安·雷諾茲】 【上映時(shí)間:2013-04-20】 【9.5】
37】 【阿凡達(dá)】 【主演:薩姆·沃辛頓,佐伊·索爾達(dá)娜,米歇爾·羅德里格茲】 【上映時(shí)間:2010-01-04】 【9.1】
38】 【盜夢(mèng)空間】 【主演:萊昂納多·迪卡普里奧,渡邊謙,約瑟夫·高登-萊維特】 【上映時(shí)間:2010-09-01】 【9.2】
39】 【幽靈公主】 【主演:松田洋治,石田百合子,田中裕子】 【上映時(shí)間:1998-05-01】 【8.9】
40】 【東邪西毒】 【主演:張國(guó)榮,梁朝偉,劉嘉玲】 【上映時(shí)間:1994-09-17】 【8.8】
41】 【搏擊俱樂部】 【主演:愛德華·哈里森·諾頓,布拉德·皮特,海倫娜·伯翰·卡特】 【上映時(shí)間:1999-10-15(美國(guó))】 【8.8】
42】 【風(fēng)之谷】 【主演:島本須美,永井一郎,坂本千夏】 【上映時(shí)間:1992】 【8.9】
43】 【V字仇殺隊(duì)】 【主演:娜塔莉·波特曼,雨果·維文,斯蒂芬·瑞】 【上映時(shí)間:2006-03-17(美國(guó))】 【8.8】
44】 【十二怒漢】 【主演:亨利·方達(dá),李·科布,馬丁·鮑爾薩姆】 【上映時(shí)間:1957-04-13(美國(guó))】 【9.1】
45】 【當(dāng)幸福來敲門】 【主演:威爾·史密斯,賈登·史密斯,坦迪·牛頓】 【上映時(shí)間:2008-01-17】 【8.9】
46】 【馴龍高手】 【主演:杰伊·巴魯切爾,杰拉德·巴特勒,亞美莉卡·費(fèi)雷拉】 【上映時(shí)間:2010-05-14】 【9.0】
47】 【速度與激情5】 【主演:范·迪塞爾,保羅·沃克,道恩·強(qiáng)森】 【上映時(shí)間:2011-05-12】 【9.2】
48】 【放牛班的春天】 【主演:熱拉爾·朱尼奧,讓-巴蒂斯特·莫尼耶,瑪麗·布奈爾】 【上映時(shí)間:2004-10-16】 【8.8】
49】 【勇敢的心】 【主演:梅爾·吉布森,蘇菲·瑪索,帕特里克·麥高漢】 【上映時(shí)間:1995-05-24(美國(guó))】 【8.8】
50】 【聞香識(shí)女人】 【主演:阿爾·帕西諾,克里斯·奧唐納,加布里埃爾·安瓦爾】 【上映時(shí)間:1992-12-23(美國(guó))】 【8.8】
51】 【三傻大鬧寶萊塢】 【主演:阿米爾·汗,黃渤,卡琳娜·卡普】 【上映時(shí)間:2011-12-08】 【9.1】
52】 【黑客帝國(guó)3:矩陣革命】 【主演:基努·里維斯,雨果·維文,凱瑞-安·莫斯】 【上映時(shí)間:2003-11-05】 【8.8】
53】 【斷背山】 【主演:希斯·萊杰,杰克·吉倫哈爾,米歇爾·威廉姆斯】 【上映時(shí)間:2006-01-13(美國(guó))】 【9.0】
54】 【神偷奶爸】 【主演:史蒂夫·卡瑞爾,杰森·席格爾,拉塞爾·布蘭德】 【上映時(shí)間:2010-07-09(美國(guó))】 【9.0】
55】 【少年派的奇幻漂流】 【主演:蘇拉·沙瑪,伊爾凡·可汗,塔布】 【上映時(shí)間:2012-11-22】 【9.1】
56】 【飛屋環(huán)游記】 【主演:愛德華·阿斯納,喬丹·長(zhǎng)井,鮑勃·彼德森】 【上映時(shí)間:2009-08-04】 【8.9】
57】 【鬼子來了】 【主演:姜文,姜宏波,陳強(qiáng)】 【上映時(shí)間:2000-05-12(法國(guó)戛納)】 【8.9】
58】 【末代皇帝】 【主演:尊龍,陳沖,彼得·奧圖爾】 【上映時(shí)間:1987-10-23】 【8.8】
59】 【大話西游之月光寶盒】 【主演:周星馳,莫文蔚,吳孟達(dá)】 【上映時(shí)間:2014-10-24】 【9.6】
60】 【怦然心動(dòng)】 【主演:瑪?shù)铝铡た_爾,卡蘭·麥克奧利菲,艾丹·奎因】 【上映時(shí)間:2010-08-06(美國(guó))】 【8.9】
61】 【致命魔術(shù)】 【主演:休·杰克曼,克里斯蒂安·貝爾,邁克爾·凱恩】 【上映時(shí)間:2006-10-20(美國(guó))】 【8.8】
62】 【美麗心靈】 【主演:羅素·克洛,詹妮弗·康納利,艾德·哈里斯】 【上映時(shí)間:2001-12-21(美國(guó))】 【8.8】
63】 【無敵破壞王】 【主演:約翰·C·賴?yán)?薩拉·西爾弗曼,簡(jiǎn)·林奇】 【上映時(shí)間:2012-11-06】 【9.1】
64】 【倩女幽魂】 【主演:張國(guó)榮,王祖賢,午馬】 【上映時(shí)間:2011-04-30】 【9.2】
65】 【夜訪吸血鬼】 【主演:湯姆·克魯斯,布拉德·皮特,克爾斯滕·鄧斯特】 【上映時(shí)間:1994-11-11(美國(guó))】 【8.8】
66】 【蝙蝠俠:黑暗騎士崛起】 【主演:克里斯蒂安·貝爾,邁克爾·凱恩,加里·奧德曼】 【上映時(shí)間:2012-08-27】 【8.9】
67】 【鋼琴家】 【主演:艾德里安·布洛迪,艾米莉婭·福克斯,米哈烏·熱布羅夫斯基】 【上映時(shí)間:2002-09-25(法國(guó))】 【8.8】
68】 【哈利·波特與死亡圣器(下)】 【主演:丹尼爾·雷德克里夫,魯伯特·格林特,艾瑪·沃特森】 【上映時(shí)間:2011-08-04】 【9.0】
69】 【本杰明·巴頓奇事】 【主演:布拉德·皮特,凱特·布蘭切特,塔拉吉·P·漢森】 【上映時(shí)間:2008-12-25(美國(guó))】 【8.8】
70】 【甜蜜蜜】 【主演:黎明,張曼玉,曾志偉】 【上映時(shí)間:2015-02-13】 【9.2】
71】 【初戀這件小事】 【主演:馬里奧·毛瑞爾,平采娜·樂維瑟派布恩,阿查拉那·阿瑞亞衛(wèi)考】 【上映時(shí)間:2012-06-05】 【8.8】
72】 【觸不可及】 【主演:弗朗索瓦·克魯塞,奧瑪·希,安娜·勒尼】 【上映時(shí)間:2011-11-02(法國(guó))】 【9.1】
73】 【新龍門客棸罩蓿】 【主演:張曼玉,梁家輝,甄子丹】 【上映時(shí)間:2012-02-24】 【8.8】
74】 【熔爐】 【主演:孔劉,鄭有美,金智英】 【上映時(shí)間:2011-09-22(韓國(guó))】 【8.8】
75】 【大話西游之大圣娶親】 【主演:周星馳,朱茵,莫文蔚】 【上映時(shí)間:2014-10-24】 【8.8】
76】 【小鞋子】 【主演:默罕默德·阿米爾·納吉,Kamal Mirkarimi,Behzad Rafi】 【上映時(shí)間:1999-01-22(美國(guó))】 【9.0】
77】 【教父】 【主演:馬龍·白蘭度,阿爾·帕西諾,詹姆斯·肯恩】 【上映時(shí)間:2015-04-18】 【9.3】
78】 【素媛】 【主演:李來,薛耿求,嚴(yán)志媛】 【上映時(shí)間:2013-10-02(韓國(guó))】 【9.1】
79】 【螢火之森】 【主演:內(nèi)山昂輝,佐倉(cāng)綾音,后藤弘樹】 【上映時(shí)間:2011-09-17(日本)】 【9.0】
80】 【穿條紋睡衣的男孩】 【主演:阿沙·巴特菲爾德,維拉·法梅加,大衛(wèi)·休里斯】 【上映時(shí)間:2008-09-12(英國(guó))】 【9.0】
81】 【竊聽風(fēng)暴】 【主演:烏爾里咸吖剩·穆埃,塞巴斯蒂安·科赫,馬蒂娜·格德克】 【上映時(shí)間:2006-03-23(德國(guó))】 【9.0】
82】 【時(shí)空戀旅人】 【主演:瑞秋·麥克亞當(dāng)斯,多姆納爾·格里森,比爾·奈伊】 【上映時(shí)間:2013-09-04(英國(guó))】 【8.9】
83】 【7號(hào)房的禮物】 【主演:柳承龍,鄭鎮(zhèn)榮,樸信惠】 【上映時(shí)間:2013-01-23(韓國(guó))】 【8.9】
84】 【恐怖直播】 【主演:河正宇,李璟榮,李大為】 【上映時(shí)間:2013-07-31(韓國(guó))】 【8.8】
85】 【海豚灣】 【主演:里克·奧巴瑞,路易·西霍尤斯,哈迪·瓊斯】 【上映時(shí)間:2009-07-31(美國(guó))】 【8.9】
86】 【忠犬八公物語(yǔ)】 【主演:仲代達(dá)矢,春川真澄,井川比佐志】 【上映時(shí)間:1987-08-01(日本)】 【9.0】
87】 【辯護(hù)人】 【主演:宋康昊,郭度沅,吳達(dá)洙】 【上映時(shí)間:2013-12-18(韓國(guó))】 【8.8】
88】 【上帝之城】 【主演:亞歷桑德雷·羅德里格斯,艾莉絲·布拉加,萊安德魯·菲爾米諾】 【上映時(shí)間:2002-08-30(巴西)】 【8.9】
89】 【美國(guó)往事】 【主演:羅伯特·德尼羅,詹姆斯·伍茲,伊麗莎白·麥戈文】 【上映時(shí)間:2015-04-23】 【9.1】
90】 【七武士】 【主演:三船敏郎,志村喬,千秋實(shí)】 【上映時(shí)間:1954-04-26(日本)】 【9.1】
91】 【完美的世界】 【主演:凱文·科斯特納,克林特·伊斯特伍德,T·J·勞瑟】 【上映時(shí)間:1993-11-24(美國(guó))】 【8.9】
92】 【一一】 【主演:吳念真,金燕玲,李凱莉】 【上映時(shí)間:2000-09-20(法國(guó))】 【8.9】
93】 【英雄本色】 【主演:狄龍,張國(guó)榮,周潤(rùn)發(fā)】 【上映時(shí)間:2017-11-17】 【9.1】
94】 【愛·回家】 【主演:俞承豪,金藝芬,童孝熙】 【上映時(shí)間:2002-04-05(韓國(guó))】 【9.0】
95】 【海洋】 【主演:雅克·貝漢,姜文,蘭斯洛特·佩林】 【上映時(shí)間:2011-08-12】 【9.0】
96】 【我愛你】 【主演:宋在浩,李順才,尹秀晶】 【上映時(shí)間:2011-02-17(韓國(guó))】 【9.0】
97】 【黃金三鏢客】 【主演:克林特·伊斯特伍德,李·范·克里夫,埃里·瓦拉赫】 【上映時(shí)間:1966-12-23(意大利)】 【8.9】
98】 【遷徙的鳥】 【主演:雅克·貝漢,Philippe Labro】 【上映時(shí)間:2001-12-12(法國(guó))】 【9.1】
99】 【龍貓】 【主演:秦嵐,糸井重里,島本須美】 【上映時(shí)間:2018-12-14】 【9.1】
100】 【千與千尋】 【主演:柊瑠美,周冬雨,入野自由】 【上映時(shí)間:2019-06-21】 【9.3】
【代碼的不足之處】:每次只能抓取10部電影的排名文黎,名稱,主演殿较,上映時(shí)間耸峭,以及評(píng)分;上述的100部電影我一次性列出淋纲,是想有時(shí)間能把自己沒看的補(bǔ)上劳闹。