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

有一部分网站是通过检测同一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中文社区公众号底部回复代理二字。

本文分享自微信公众号 - Python中文社区(python-china)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-10-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏电光石火

linux安装mysql

Linux服务器yum安装(CentOS6 64位) 所有在服务器上执行的命令,都在 # 后面 1、命令安装mysql # yum install my...

74470
来自专栏LanceToBigData

MySQL(二)之服务管理与配置文件修改和连接MySQL

上一篇给大家介绍了怎么在linux和windows中安装mysql,本来是可以放在首页的,但是博客园说“安装配置类文件”不让放在首页。接下来给大家介绍一下在li...

28480
来自专栏xingoo, 一个梦想做发明家的程序员

Spring源码解析——如何阅读源码

最近没什么实质性的工作,正好有点时间,就想学学别人的代码。也看过一点源码,算是有了点阅读的经验,于是下定决心看下spring这种大型的项目的源码,学学它的设...

26190
来自专栏电光石火

数据库中的左连接(left join)和右连接(right join)区别

Left Join / Right Join /inner join相关 关于左连接和右连接总结性的一句话: 左连接where只影向右表,右连接...

23780
来自专栏电光石火

mysql 找回误删表的数据办法

有备份的话很简单,只需要生成一个最近备份的数据 然后用mysqlbinlog找回备份时间点之后的数据 再恢复到现网即可。 要是没有备份 可能就会比较麻...

43660
来自专栏电光石火

php环境搭建

vcredist_x64传送门:http://pan.baidu.com/s/1qWFW3vu 钥匙:p4op mysql-5.6.25-winx64传送门:h...

56150
来自专栏电光石火

用mysqlslap进行mysql压力测试

mysqlslap是一个mysql官方提供的压力测试工具,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单。通过mysqlslap--he...

320100
来自专栏LanceToBigData

MySQL之乱码问题解决详解

今天在写一个项目的时候,在数据库中手动插入数据不会产生中文乱码,但是通过javaWeb却出现乱码,把提交表单和响应中的乱码问题解决后,还是乱码。所以我锁定一定是...

24770
来自专栏电光石火

MySQL服务无法正常启动的解决方法(1053错误)

今天我重启了服务器,这下杯具了.mysql一直报1053错误:服务没有及时响应启动或控制请求.我用结束进城和重启服务器方法都无法正常启动.重装MySQL服务...

50960
来自专栏电光石火

mysql 5.7版本目录无data文件夹的解决办法

安装mysql 5.7+版本时,若发现因根目录下,缺少data文件夹的情况, ***请不要去拷贝其他版本的data文件夹!*** 因为此操作会出现很多潜...

22270

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励