电影爬虫日记 之 豆瓣网爬虫记录

2017年9月29日

最近接到了一个小任务,要求爬取豆瓣、时光网等网站的电影信息并进行少量的数据处理。爬电影确实不是一个难的东西,不就是选择一个相对简单的目标url,写一个脚本进行访问。但是,要想要为何不借此机会,好好研究一下python中的异步以及多线程机制呢?说不定还就写出一个像scrapy一样的爬虫框架了呢!

爬取豆瓣电影列表这件事,也不算什么复杂的工作,因为豆瓣电影本身没有反爬虫机制。

电影列表抓取

方案A

网址:https://movie.douban.com/tag/2017

里面有2017年的所有电影,但是其中有混杂很多的电视剧啥的,总数也仅仅只有4000个。


2017年9月30日

方案B

网址:https://movie.douban.com/typerank?type_name=剧情&type=11&interval_id=100:90&action=

倘若枚举每一个分类的每一个得分档次的每一页,就可以得到大约20000个电影。这可以说非常全面了。


2017年10月7日

电影信息抓取

豆瓣对于每一个电影都有一个自己的id,这个在之前爬取爬虫列表的部分就已经预处理出来了。

页面链接就是普通的电影页面:https://movie.douban.com/subject/26425068/

然而,当我尝试开始使用诸如多线程爬虫时……

豆瓣把我给封掉了……

现在可以确认的消息是

  1. 通过urllib.request.urlopen进行访问,单线程会在几千次左右被封
  2. 通过多线程访问可以在一分钟内被封
  3. 通过IP代理暂时没有看出效果

首先我尝试的是直接将爬取的数据写入数据库,但是感觉比较迷……因为容易被封IP,需要在八小时后自动重新启动。判重等问题非常难处理。

另一种尝试则是通过在ID对应文件中写入数据。网上的爬虫用的是第二种,但是感觉第一种可能会方便一些……吧……

 

原创文章地址:【电影爬虫日记 之 豆瓣网爬虫记录】,转载时请注明出处mhy12345.xyz

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.