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

容器MySQLClickHouse

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

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

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

picture.image

运行环境:scrapy1.0.3 python2.7.10 需要安装MySQLdb模块

pip install mysql-python

spider的编写步骤:

1、定义抓取的网站

picture.image

2、定义需要抓取的链接

picture.image

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

picture.image

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

picture.image

运行scrapy:

scrapy crawl xici

picture.image

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

picture.image

picture.image


更多Python干货欢迎关注 微信公众号、知乎专栏:Python中文社区 ,致力于成为国内最好的Python开发者学习交流平台,这里有关于Python的国内外最新消息,每日推送有趣有料的技术干货和社区动态。

Python中文社区微信公众号:

picture.image

Python中文社区QQ交流群:

picture.image

Python各专业技术QQ交流群

Python中文社区:309365624
KCPC Github群组:

477542380
Python网络爬虫组:206241755
Python数据分析挖掘组:539956362
Python高级技术交流:273186166
PythonWeb开发组:577672548
Python树莓派组:338456791
Python渗透测试组:274631467
Python量化交易策略组:264204289
Python自然语言处理组: 570364809
微信公众号:Python中文社区
知乎专栏:Python中文社区

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
基于 ByteHouse 引擎的增强型数据导入技术实践
ByteHouse 基于自研 HaMergeTree,构建增强型物化 MySQL、HaKafka 引擎,实现数据快速集成,加速业务数据分析性能与效率,本次 talk 主要介绍物化 MySQL 与 HaKafka 数据导入方案和业务实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论