您的位置: 首页 > 新闻资讯 > 正文

免费代理IP的抓取

发布时间:2019-10-23 17:10:34 来源:

在搜索引擎上找代理IP,可以发现有很多免费代理IP提供商,那么我们是不是可以通过把这些免费代理给抓取下来使用呢?我们来看看如何操作:


获取代理IP


代理IP的获取可以先利用网上开放的代理IP平台。


下面以国内某代理IP网站为例进行分析。该代理网站的代理类型一共分为四类:国内高匿代理、国内普通代理、国内HTTPS代理、国内HTTP代理。

免费代理IP的抓取


下面以国内HTTPS代理为例来爬取网站上的代理IP信息,核心实现python代码如下:


#coding:utf-8

from requests import *

import re

headers = { "accept":"text/html,application/xhtml+xml,application/xml;",

"accept-encoding":"gzip",

"accept-language":"zh-cn,zh;q=0.8",

"referer":"Mozilla/5.0(compatible;Baiduspider/2.0;+http://www.baidu.com/search/spider.html)",

"connection":"keep-alive",

"user-agent":"mozilla/5.0(windows NT 6.1;wow64) applewebkit/537.36 (khtml,like gecko)chrome/42.0.2311.90 safari/537.36"

}

for i in range(1,835):

url = 'http://www.xicidaili.com'

url = url + '/wn/'

url = url + str(i)

html = get(url,timeout=3,headers=headers)

html.encoding = html.apparent_encoding

proxyip = r'(<td>.*</td>)'

iplist = re.findall(proxyip,html.text)

i = 1

for ip in iplist:

ip = (ip.split('<td>')[1]).split('</td>')[0]

f = open('./ip.txt','a')

print(ip,file=f)

if i%5==0:

print('\n',file=f)

i = i + 1


获取到的代理IP格式经处理后如下所示:

免费代理IP的抓取


可以看出爬取出来的代理IP的格式为:IP、端口、代表类型、存活天数、发现日期及时间。下面将这些信息存入到数据库中,以方便检索与查找。这里面个人选择mysql数据库,将相关的数据导入到mysql中,共29700条https代理,如下所示:

免费代理IP的抓取


到这一步,我们的抓取就已经完成了,可以看到免费的代理IP已经保存下来,我们需要使用的时候提取出来即可。


相关文章内容简介

1 免费代理IP的抓取

  在搜索引擎上找代理IP,可以发现有很多免费代理IP提供商,那么我们是不是可以通过把这些免费代理给抓取下来使用呢?我们来看看如何操作:  获取代理IP  代理IP的获取可以先利用网上开放的代理IP平台。  下面以国内某代理IP网站为例进行分析。该代理网站的代理类型一共分为四类:国内高匿代理、国内普通代理、国内HTTPS代理、国内HTTP代理。... [阅读全文]