烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来

写爬虫防止被封的关键有以下几点:

伪装请求报头(request header)

减轻访问频率,速度

使用代理IP

一般第一点都能做到,第二点减轻访问频率就会大大增加任务时间,而使用代理就能在不增加任务时长避免被封的关键(实际情况却是任务时间因为代理的使用而增加的,但这里不细说,知道就好)。

下面我们从 国内高匿代理IP 获得代理IP数据。


烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来_第1张图片

我们准备抓 国内高匿代理IP网 的十个页面的代理

fetch_proxy(10)


烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来_第2张图片

当前工作目录下的文件,你看!!有host.txt


烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来_第3张图片

打开host.txt,收集到了很多代理IP

但是有代理IP还不行,因为我们不知道这代理能不能用,是否有效。

下面我们用百度网进行检验(大公司不怕咱们短时间内高频率访问),上代码:


烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来_第4张图片

运行该代码,效果如下


烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来_第5张图片

代理Ip池生成函数


烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来_第6张图片

下面开始爬豆瓣电影的电影数据,我们要获取 电影名、演员、评分。

电影标签页 https://movie.douban.com/tag/


烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来_第7张图片


烂片详情页https://movie.douban.com/tag/烂片


烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来_第8张图片

烂片详情页

我们就只爬烂片标签页的部分数据吧,网页链接规律如下

第一页https://movie.douban.com/tag/烂片?start=0

第二页https://movie.douban.com/tag/烂片?start=20

第三页https://movie.douban.com/tag/烂片?start=40

开始上代码


烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来_第9张图片

执行上述写好的代码


烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来_第10张图片

Perfect


烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来_第11张图片


烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来_第12张图片

你可能感兴趣的:(烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来)