首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python爬取大量数据时,如何防止IP被封?

这两天我爬取了猪八戒上的一些数据 网址是:,可能是由于爬取的数据量有点多吧,结果我的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。

(完)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180205B04Z2J00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券