其他
50 行爬取猫眼 TOP 100
爬虫
网络爬虫(又被称为网页蜘蛛,网络机器人,在 FOAF 社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
简单的总结下就是:请求网站并提取数据的自动化程序。
今天就教大家来写一个简单的爬虫程序,50 行爬取猫眼 TOP 100。
猫眼 TOP 100 爬虫思路
猫眼电影热门榜单,包括热映口碑榜,最受期待榜,国内票房榜,北美票房榜,猫眼 TOP100,多维度为用户进行选片决策。这也是我们今天要爬取得对象。爬虫的基本思路首先是获取到要爬取的网站 url,然后通过浏览器(推荐使用 Chrome)来观察网页结构,在通过一些正则表达式,爬虫框架爬取你需要的内容。此次程序是用的正则表达式来抓取数据。
具体代码
此次的爬虫程序,主要由四个函数组成。
get_one_page(url)
此函数用来获取网页内容,由于猫眼最近增加了 User-Agent 识别,所以需要在 headers 中添加 User-Agent 参数。
parse_one_page(html)
此函数用来分析解析到的网页内容,即 html。通过利用正则表达式来匹配我们需要的内容,然后再通过生成器重新构造字典数据。
write_to_file(content)
此函数用来把抓取到的内容,写入到文件里。
main(offset)
此函数用来进行分页获取数据。
if name__ == '__main':
在运行中,创建了一个线程池,多线程一起抓取,会让爬虫效率更高。
运行结果
最后运行程序后,会把爬出到 TOP 100 的电影信息全部保存到当前目录下的 result.txt 文本下。
完整代码我以上传到 GitHub 上,需要的同学可以自己下载。
https://github.com/chihaiyishen/-Python/tree/master/Maoyantop100
推荐阅读:
知识与认知,财富与思维