大数据 爬虫Python AI Sql100篇-Python爬虫专栏

python 关于正则表达式的运用-猫眼电影的爬取

2019-07-04  本文已影响6人  Alcazar

关于python爬虫的实用技巧---【初级爬虫应用】

【爬取网址】:
https://maoyan.com/board/4?offset=0

【店小二】:各位看官,是否想看一部电影解解闷呢?
那就打跑一跑下面的程序吧...

import re
import urllib.request

resp = urllib.request.urlopen("https://maoyan.com/board/4?offset=0")
resp.read().decode("utf-8")

# 确定所爬取的网页
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")

#根据我们的观察,猫眼电影的首页只有10部电影推荐,因此,我们需要转到下一页。

# 网页的地址变化
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))

# 爬取上映时间
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))

# 爬取该电影分数
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)

# 将爬取的内容存放在一个名称为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)

想看啥...这里都有:
【猫眼排名】 【电影名称】【主演】【上映时间】【评分】

1】 【霸王别姬】 【主演:张国荣,张丰毅,巩俐】 【上映时间:1993-01-01】 【9.5】
2】 【肖申克的救赎】 【主演:蒂姆·罗宾斯,摩根·弗里曼,鲍勃·冈顿】 【上映时间:1994-09-10(加拿大)】 【9.5】
3】 【罗马假日】 【主演:格利高里·派克,奥黛丽·赫本,埃迪·艾伯特】 【上映时间:1953-09-02(美国)】 【9.1】
4】 【这个杀手不太冷】 【主演:让·雷诺,加里·奥德曼,娜塔莉·波特曼】 【上映时间:1994-09-14(法国)】 【9.5】
5】 【泰坦尼克号】 【主演:莱昂纳多·迪卡普里奥,凯特·温丝莱特,比利·赞恩】 【上映时间:1998-04-03】 【9.5】
6】 【唐伯虎点秋香】 【主演:周星驰,巩俐,郑佩佩】 【上映时间:1993-07-01(中国香港)】 【9.1】
7】 【魂断蓝桥】 【主演:费雯·丽,罗伯特·泰勒,露塞尔·沃特森】 【上映时间:1940-05-17(美国)】 【9.2】
8】 【乱世佳人】 【主演:费雯·丽,克拉克·盖博,奥利维娅·德哈维兰】 【上映时间:1939-12-15(美国)】 【9.1】
9】 【天空之城】 【主演:寺田农,鹫尾真知子,龟山助清】 【上映时间:1992】 【9.1】
10】 【辛德勒的名单】 【主演:连姆·尼森,拉尔夫·费因斯,本·金斯利】 【上映时间:1993-12-15(美国)】 【9.2】
11】 【喜剧之王】 【主演:周星驰,莫文蔚,张柏芝】 【上映时间:1999-02-13(中国香港)】 【9.1】
12】 【大闹天宫】 【主演:邱岳峰,毕克,富润生】 【上映时间:1965-12-31】 【9.0】
13】 【音乐之声】 【主演:朱莉·安德鲁斯,克里斯托弗·普卢默,埃琳诺·帕克】 【上映时间:1965-03-02(美国)】 【9.0】
14】 【春光乍泄】 【主演:张国荣,梁朝伟,张震】 【上映时间:1997-05-30(中国香港)】 【9.2】
15】 【剪刀手爱德华】 【主演:约翰尼·德普,薇诺娜·瑞德,黛安·韦斯特】 【上映时间:1990-12-06(美国)】 【8.8】
16】 【美丽人生】 【主演:罗伯托·贝尼尼,尼可莱塔·布拉斯基,乔治·坎塔里尼】 【上映时间:1997-12-20(意大利)】 【9.3】
17】 【海上钢琴师】 【主演:蒂姆·罗斯,普路特·泰勒·文斯,比尔·努恩】 【上映时间:1998-10-28(意大利)】 【9.2】
18】 【黑客帝国】 【主演:基努·里维斯,凯瑞-安·莫斯,劳伦斯·菲什伯恩】 【上映时间:2000-01-14】 【9.0】
19】 【指环王3:王者无敌】 【主演:伊莱贾·伍德,伊恩·麦克莱恩,丽芙·泰勒】 【上映时间:2004-03-15】 【9.2】
20】 【哈利·波特与魔法石】 【主演:丹尼尔·雷德克里夫,鲁伯特·格林特,艾玛·沃特森】 【上映时间:2002-01-26】 【9.1】
21】 【楚门的世界】 【主演:金·凯瑞,劳拉·琳妮,诺亚·艾默里奇】 【上映时间:1998-06-01(美国)】 【8.9】
22】 【加勒比海盗】 【主演:约翰尼·德普,凯拉·奈特莉,奥兰多·布鲁姆】 【上映时间:2003-11-21】 【8.9】
23】 【射雕英雄传之东成西就】 【主演:张国荣,梁朝伟,张学友】 【上映时间:1993-02-05(中国香港)】 【8.9】
24】 【无间道】 【主演:刘德华,梁朝伟,黄秋生】 【上映时间:2003-09-05】 【9.1】
25】 【教父2】 【主演:阿尔·帕西诺,罗伯特·德尼罗,黛安·基顿】 【上映时间:1974-12-12(美国)】 【9.0】
26】 【蝙蝠侠:黑暗骑士】 【主演:克里斯蒂安·贝尔,希斯·莱杰,阿伦·伊克哈特】 【上映时间:2008-07-18(美国)】 【9.3】
27】 【机器人总动员】 【主演:本·贝尔特,艾丽莎·奈特,杰夫·格尔林】 【上映时间:2008-06-27(美国)】 【9.3】
28】 【指环王1:护戒使者】 【主演:伊莱贾·伍德,伊恩·麦克莱恩,丽芙·泰勒】 【上映时间:2002-04-04】 【9.0】
29】 【指环王2:双塔奇兵】 【主演:伊莱贾·伍德,伊恩·麦克莱恩,丽芙·泰勒】 【上映时间:2003-04-25】 【9.1】
30】 【天堂电影院】 【主演:菲利浦·诺瓦雷,赛尔乔·卡斯特利托,蒂兹亚娜·罗达托】 【上映时间:1988-11-17(意大利)】 【9.2】
31】 【活着】 【主演:葛优,巩俐,牛犇】 【上映时间:1994-05-18(法国)】 【9.0】
32】 【狮子王】 【主演:马修·布罗德里克,尼基塔·卡兰姆,詹姆斯·厄尔·琼斯】 【上映时间:1995-07-15】 【8.8】
33】 【拯救大兵瑞恩】 【主演:汤姆·汉克斯,马特·达蒙,汤姆·塞兹摩尔】 【上映时间:1998-11-13】 【8.9】
34】 【哈尔的移动城堡】 【主演:倍赏千惠子,木村拓哉,美轮明宏】 【上映时间:2004-11-20(日本)】 【9.0】
35】 【忠犬八公的故事】 【主演:Forest,理查·基尔,琼·艾伦】 【上映时间:2010-03-12(英国)】 【9.3】
36】 【疯狂原始人】 【主演:尼古拉斯·凯奇,艾玛·斯通,瑞安·雷诺兹】 【上映时间:2013-04-20】 【9.5】
37】 【阿凡达】 【主演:萨姆·沃辛顿,佐伊·索尔达娜,米歇尔·罗德里格兹】 【上映时间:2010-01-04】 【9.1】
38】 【盗梦空间】 【主演:莱昂纳多·迪卡普里奥,渡边谦,约瑟夫·高登-莱维特】 【上映时间:2010-09-01】 【9.2】
39】 【幽灵公主】 【主演:松田洋治,石田百合子,田中裕子】 【上映时间:1998-05-01】 【8.9】
40】 【东邪西毒】 【主演:张国荣,梁朝伟,刘嘉玲】 【上映时间:1994-09-17】 【8.8】
41】 【搏击俱乐部】 【主演:爱德华·哈里森·诺顿,布拉德·皮特,海伦娜·伯翰·卡特】 【上映时间:1999-10-15(美国)】 【8.8】
42】 【风之谷】 【主演:岛本须美,永井一郎,坂本千夏】 【上映时间:1992】 【8.9】
43】 【V字仇杀队】 【主演:娜塔莉·波特曼,雨果·维文,斯蒂芬·瑞】 【上映时间:2006-03-17(美国)】 【8.8】
44】 【十二怒汉】 【主演:亨利·方达,李·科布,马丁·鲍尔萨姆】 【上映时间:1957-04-13(美国)】 【9.1】
45】 【当幸福来敲门】 【主演:威尔·史密斯,贾登·史密斯,坦迪·牛顿】 【上映时间:2008-01-17】 【8.9】
46】 【驯龙高手】 【主演:杰伊·巴鲁切尔,杰拉德·巴特勒,亚美莉卡·费雷拉】 【上映时间:2010-05-14】 【9.0】
47】 【速度与激情5】 【主演:范·迪塞尔,保罗·沃克,道恩·强森】 【上映时间:2011-05-12】 【9.2】
48】 【放牛班的春天】 【主演:热拉尔·朱尼奥,让-巴蒂斯特·莫尼耶,玛丽·布奈尔】 【上映时间:2004-10-16】 【8.8】
49】 【勇敢的心】 【主演:梅尔·吉布森,苏菲·玛索,帕特里克·麦高汉】 【上映时间:1995-05-24(美国)】 【8.8】
50】 【闻香识女人】 【主演:阿尔·帕西诺,克里斯·奥唐纳,加布里埃尔·安瓦尔】 【上映时间:1992-12-23(美国)】 【8.8】
51】 【三傻大闹宝莱坞】 【主演:阿米尔·汗,黄渤,卡琳娜·卡普】 【上映时间:2011-12-08】 【9.1】
52】 【黑客帝国3:矩阵革命】 【主演:基努·里维斯,雨果·维文,凯瑞-安·莫斯】 【上映时间:2003-11-05】 【8.8】
53】 【断背山】 【主演:希斯·莱杰,杰克·吉伦哈尔,米歇尔·威廉姆斯】 【上映时间:2006-01-13(美国)】 【9.0】
54】 【神偷奶爸】 【主演:史蒂夫·卡瑞尔,杰森·席格尔,拉塞尔·布兰德】 【上映时间:2010-07-09(美国)】 【9.0】
55】 【少年派的奇幻漂流】 【主演:苏拉·沙玛,伊尔凡·可汗,塔布】 【上映时间:2012-11-22】 【9.1】
56】 【飞屋环游记】 【主演:爱德华·阿斯纳,乔丹·长井,鲍勃·彼德森】 【上映时间:2009-08-04】 【8.9】
57】 【鬼子来了】 【主演:姜文,姜宏波,陈强】 【上映时间:2000-05-12(法国戛纳)】 【8.9】
58】 【末代皇帝】 【主演:尊龙,陈冲,彼得·奥图尔】 【上映时间:1987-10-23】 【8.8】
59】 【大话西游之月光宝盒】 【主演:周星驰,莫文蔚,吴孟达】 【上映时间:2014-10-24】 【9.6】
60】 【怦然心动】 【主演:玛德琳·卡罗尔,卡兰·麦克奥利菲,艾丹·奎因】 【上映时间:2010-08-06(美国)】 【8.9】
61】 【致命魔术】 【主演:休·杰克曼,克里斯蒂安·贝尔,迈克尔·凯恩】 【上映时间:2006-10-20(美国)】 【8.8】
62】 【美丽心灵】 【主演:罗素·克洛,詹妮弗·康纳利,艾德·哈里斯】 【上映时间:2001-12-21(美国)】 【8.8】
63】 【无敌破坏王】 【主演:约翰·C·赖利,萨拉·西尔弗曼,简·林奇】 【上映时间:2012-11-06】 【9.1】
64】 【倩女幽魂】 【主演:张国荣,王祖贤,午马】 【上映时间:2011-04-30】 【9.2】
65】 【夜访吸血鬼】 【主演:汤姆·克鲁斯,布拉德·皮特,克尔斯滕·邓斯特】 【上映时间:1994-11-11(美国)】 【8.8】
66】 【蝙蝠侠:黑暗骑士崛起】 【主演:克里斯蒂安·贝尔,迈克尔·凯恩,加里·奥德曼】 【上映时间:2012-08-27】 【8.9】
67】 【钢琴家】 【主演:艾德里安·布洛迪,艾米莉娅·福克斯,米哈乌·热布罗夫斯基】 【上映时间:2002-09-25(法国)】 【8.8】
68】 【哈利·波特与死亡圣器(下)】 【主演:丹尼尔·雷德克里夫,鲁伯特·格林特,艾玛·沃特森】 【上映时间:2011-08-04】 【9.0】
69】 【本杰明·巴顿奇事】 【主演:布拉德·皮特,凯特·布兰切特,塔拉吉·P·汉森】 【上映时间:2008-12-25(美国)】 【8.8】
70】 【甜蜜蜜】 【主演:黎明,张曼玉,曾志伟】 【上映时间:2015-02-13】 【9.2】
71】 【初恋这件小事】 【主演:马里奥·毛瑞尔,平采娜·乐维瑟派布恩,阿查拉那·阿瑞亚卫考】 【上映时间:2012-06-05】 【8.8】
72】 【触不可及】 【主演:弗朗索瓦·克鲁塞,奥玛·希,安娜·勒尼】 【上映时间:2011-11-02(法国)】 【9.1】
73】 【新龙门客栈】 【主演:张曼玉,梁家辉,甄子丹】 【上映时间:2012-02-24】 【8.8】
74】 【熔炉】 【主演:孔刘,郑有美,金智英】 【上映时间:2011-09-22(韩国)】 【8.8】
75】 【大话西游之大圣娶亲】 【主演:周星驰,朱茵,莫文蔚】 【上映时间:2014-10-24】 【8.8】
76】 【小鞋子】 【主演:默罕默德·阿米尔·纳吉,Kamal Mirkarimi,Behzad Rafi】 【上映时间:1999-01-22(美国)】 【9.0】
77】 【教父】 【主演:马龙·白兰度,阿尔·帕西诺,詹姆斯·肯恩】 【上映时间:2015-04-18】 【9.3】
78】 【素媛】 【主演:李来,薛耿求,严志媛】 【上映时间:2013-10-02(韩国)】 【9.1】
79】 【萤火之森】 【主演:内山昂辉,佐仓绫音,后藤弘树】 【上映时间:2011-09-17(日本)】 【9.0】
80】 【穿条纹睡衣的男孩】 【主演:阿沙·巴特菲尔德,维拉·法梅加,大卫·休里斯】 【上映时间:2008-09-12(英国)】 【9.0】
81】 【窃听风暴】 【主演:乌尔里希·穆埃,塞巴斯蒂安·科赫,马蒂娜·格德克】 【上映时间:2006-03-23(德国)】 【9.0】
82】 【时空恋旅人】 【主演:瑞秋·麦克亚当斯,多姆纳尔·格里森,比尔·奈伊】 【上映时间:2013-09-04(英国)】 【8.9】
83】 【7号房的礼物】 【主演:柳承龙,郑镇荣,朴信惠】 【上映时间:2013-01-23(韩国)】 【8.9】
84】 【恐怖直播】 【主演:河正宇,李璟荣,李大为】 【上映时间:2013-07-31(韩国)】 【8.8】
85】 【海豚湾】 【主演:里克·奥巴瑞,路易·西霍尤斯,哈迪·琼斯】 【上映时间:2009-07-31(美国)】 【8.9】
86】 【忠犬八公物语】 【主演:仲代达矢,春川真澄,井川比佐志】 【上映时间:1987-08-01(日本)】 【9.0】
87】 【辩护人】 【主演:宋康昊,郭度沅,吴达洙】 【上映时间:2013-12-18(韩国)】 【8.8】
88】 【上帝之城】 【主演:亚历桑德雷·罗德里格斯,艾莉丝·布拉加,莱安德鲁·菲尔米诺】 【上映时间:2002-08-30(巴西)】 【8.9】
89】 【美国往事】 【主演:罗伯特·德尼罗,詹姆斯·伍兹,伊丽莎白·麦戈文】 【上映时间:2015-04-23】 【9.1】
90】 【七武士】 【主演:三船敏郎,志村乔,千秋实】 【上映时间:1954-04-26(日本)】 【9.1】
91】 【完美的世界】 【主演:凯文·科斯特纳,克林特·伊斯特伍德,T·J·劳瑟】 【上映时间:1993-11-24(美国)】 【8.9】
92】 【一一】 【主演:吴念真,金燕玲,李凯莉】 【上映时间:2000-09-20(法国)】 【8.9】
93】 【英雄本色】 【主演:狄龙,张国荣,周润发】 【上映时间:2017-11-17】 【9.1】
94】 【爱·回家】 【主演:俞承豪,金艺芬,童孝熙】 【上映时间:2002-04-05(韩国)】 【9.0】
95】 【海洋】 【主演:雅克·贝汉,姜文,兰斯洛特·佩林】 【上映时间:2011-08-12】 【9.0】
96】 【我爱你】 【主演:宋在浩,李顺才,尹秀晶】 【上映时间:2011-02-17(韩国)】 【9.0】
97】 【黄金三镖客】 【主演:克林特·伊斯特伍德,李·范·克里夫,埃里·瓦拉赫】 【上映时间:1966-12-23(意大利)】 【8.9】
98】 【迁徙的鸟】 【主演:雅克·贝汉,Philippe Labro】 【上映时间:2001-12-12(法国)】 【9.1】
99】 【龙猫】 【主演:秦岚,糸井重里,岛本须美】 【上映时间:2018-12-14】 【9.1】
100】 【千与千寻】 【主演:柊瑠美,周冬雨,入野自由】 【上映时间:2019-06-21】 【9.3】

【代码的不足之处】:每次只能抓取10部电影的排名,名称,主演,上映时间,以及评分;上述的100部电影我一次性列出,是想有时间嫩吧自己没看的补上。

上一篇下一篇

猜你喜欢

热点阅读