查看原文
其他

50 行爬取猫眼 TOP 100

Keep On Coding 痴海 2022-06-18

爬虫

网络爬虫(又被称为网页蜘蛛,网络机器人,在 FOAF 社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

简单的总结下就是:请求网站并提取数据的自动化程序。

今天就教大家来写一个简单的爬虫程序,50 行爬取猫眼 TOP 100。

猫眼 TOP 100 爬虫思路

猫眼电影热门榜单,包括热映口碑榜,最受期待榜,国内票房榜,北美票房榜,猫眼 TOP100,多维度为用户进行选片决策。这也是我们今天要爬取得对象。爬虫的基本思路首先是获取到要爬取的网站 url,然后通过浏览器(推荐使用 Chrome)来观察网页结构,在通过一些正则表达式,爬虫框架爬取你需要的内容。此次程序是用的正则表达式来抓取数据。

具体代码

此次的爬虫程序,主要由四个函数组成。

get_one_page(url)

get_one_page


此函数用来获取网页内容,由于猫眼最近增加了 User-Agent 识别,所以需要在 headers 中添加 User-Agent 参数。

parse_one_page(html)

parse_one_page

此函数用来分析解析到的网页内容,即 html。通过利用正则表达式来匹配我们需要的内容,然后再通过生成器重新构造字典数据。

write_to_file(content)

write_to_file

此函数用来把抓取到的内容,写入到文件里。

main(offset)

main

此函数用来进行分页获取数据。

if name__ == '__main':

main

在运行中,创建了一个线程池,多线程一起抓取,会让爬虫效率更高。

运行结果

result.txt

最后运行程序后,会把爬出到 TOP 100 的电影信息全部保存到当前目录下的 result.txt 文本下。

完整代码我以上传到 GitHub 上,需要的同学可以自己下载。

https://github.com/chihaiyishen/-Python/tree/master/Maoyantop100


推荐阅读: 


你愿意一生都如此平凡吗?




 知识与认知,财富与思维





您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存