scrapy爬取免费代理IP存储到数据库构建自有IP池

2018-01-31 14:06:59 浏览数 (1)

有一部分网站是通过检测同一IP短时间内多次访问同一页面来进行反爬虫,为了应对这种反爬虫机制,使用IP代理就可以解决。可以利用scrapy写一个爬虫,爬取网上免费公开的代理ip,检测后全部保存起来。有了大量代理ip后可以每请求几次更换一个ip,这在requests或者urllib2中很容易做到,这样就能很容易的绕过这种反爬虫机制。下面就详细说明一下scrapy抓取免费代理IP构建自有的代理IP池的过程:

以抓取西刺代理网站的高匿IP并存储到mysql数据库为例

西刺网:http://www.xicidaili.com/nn/

运行环境:scrapy1.0.3 python2.7.10 需要安装MySQLdb模块 pip install mysql-python

spider的编写步骤:

1、定义抓取的网站

2、定义需要抓取的链接

3、用xpath对网站内容进行解析

填写settings.py文件中的数据库用户名和密码,之后在mysql中导入proxy.sql文件,数据表名称及属性如下所示:

运行scrapy: scrapy crawl xici

不到一分钟即可抓取3000多代理ip,妈妈再也不用担心ip被封啦,本文源码下载地址:http://pan.baidu.com/s/1c29kkMG,获取密码请在Python中文社区公众号底部回复代理二字。

0 人点赞