这两天我爬取了猪八戒上的一些数据 网址是:,可能是由于爬取的数据量有点多吧,结果我的IP被封了,需要自己手动来验证解封ip,但这显然阻止了我爬取更多的数据了。
下面是我写的爬取猪八戒的被封IP的代码
我发现代码运行完后,后面有几页数据没有被爬取,我再也没有办法去访问猪八戒网站了,等过了一段时间才能去访问他们的网站,这就很尴尬了,我得防止被封IP。
如何防止爬取数据的时候被网站封IP这里有一些套路,查了一些套路:
1.修改请求头
之前的爬虫代码没有添加头部,这里我添加了头部,模拟成浏览器去访问网站:
2.采用代理IP
当自己的IP被网站封了之后,只能采用代理IP的方式进行爬取,所以每次爬取的时候尽量用代理IP来爬取,封了代理还有代理。
这里我引用了这个博客的一段代码来生成IP地址:
生成代理IP,大家可以直接把这个代码拿去用
好了我用上面的代码给我生成了一批IP地址(有些IP地址可能无效,但只要不封我自己的IP就可以了,哈哈),然后我就可以在我的请求头部添加IP地址
** 给我们的请求添加代理IP**
最后完整代码如下:
数据全部爬取出来了,且我的IP也没有被封。当然防止被封IP肯定不止这些了,这还需要进一步探索!
最后
虽然数据我是已经抓取过来了,但是我的数据都没有完美呈现出来,只是呈现在我的控制台上,这并不完美,我应该写入execl文件或者数据库中啊,这样才能方便采用。所以接下来我准备了使用Python操作excel,mysql,mongoDB。
(完)
领取专属 10元无门槛券
私享最新 技术干货