以后再也不用担心写爬虫ip被封,不用担心没钱买代理ip的烦恼了
在使用python写爬虫时候,你会遇到所要爬取的网站有反爬取技术比如用同一个IP反复爬取同一个网页,很可能会被封。如何有效的解决这个问题呢?我们可以使用代理ip,来设置代理ip池。
现在教大家一个可获取大量免费有效快速的代理ip方法,我们访问西刺免费代理ip网址
这里面提供了许多代理ip,但是我们尝试过后会发现并不是每一个都是有效的。所以我们现在所要做的就是从里面提供的筛选出有效快速稳定的ip。
以下介绍的免费获取代理ip池的方法:
优点:免费、数量多、有效、速度快
缺点:需要定期筛选
主要思路:
从网址上爬取ip地址并存储
验证ip是否能使用-(随机访问网址判断响应码)
格式化ip地址
代码如下:
1.导入包
import requests
from lxml import etree
import time
1
2
3
2.获取西刺免费代理ip网址上的代理ip
def get_all_proxy():
url = 'http://www.xicidaili.com/nn/1'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}
response = requests.get(url, headers=headers)
html_ele = etree.HTML(response.text)
ip_eles = html_ele.xpath('//table[@id="ip_list"]/tr/td[2]/text()')
port_ele = html_ele.xpath('//table[@id="ip_list"]/tr/td[3]/text()')
proxy_list = []
for i in range(0,len(ip_eles)):
proxy_str = 'http://' + ip_eles[i] + ':' + port_ele[i]
proxy_list.append(proxy_str)
return proxy_list
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3.验证获取的ip
def check_all_proxy(proxy_list):
valid_proxy_list = []
for proxy in proxy_list:
url = 'http://www.baidu.com/'
proxy_dict = {
'http': proxy
}
try:
start_time = time.time()
response = requests.get(url, proxies=proxy_dict, timeout=5)
if response.status_code == 200:
end_time = time.time()
print('代理可用:' + proxy)
print('耗时:' + str(end_time - start_time))
valid_proxy_list.append(proxy)
else:
print('代理超时')
except:
print('代理不可用--------------->'+proxy)
return valid_proxy_list
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
4.输出获取ip池
if __name__ == '__main__':
proxy_list = get_all_proxy()
valid_proxy_list = check_all_proxy(proxy_list)
print('--'*30)
print(valid_proxy_list)
1
2
3
4
5
技术能力有限欢迎提出意见,保证积极向上不断学习
————————————————
版权声明:本文为CSDN博主「彬小二」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39884947/article/details/86609930
资源简介:以后再也不用担心写爬虫ip被封,不用担心没钱买代理ip的烦恼了 在使用python写爬虫时候,你会遇到所要爬取的网站有反爬取技术比如用同一个ip反复爬取同一个网页,很可能会被封。如何有效的解决这个问题呢?我们可以使用代理ip,来设置代理ip池。 现在教大家...
上传时间: 2019-11-15
上传用户:fygwz1982
资源简介:python 爬虫 抓取
上传时间: 2017-05-08
上传用户:宋桃子
资源简介:简单的python爬虫,用于爬取网页内容,
上传时间: 2017-04-09
上传用户:antone
资源简介:python爬虫实战手册,有需要的可以参考!
上传时间: 2022-03-08
上传用户:
资源简介:1、Conn.asp 数据库连接文件 2、ipCheck.inc ip数据库查询函数 3、oc_ipRecord.asp ip记录文件(被调用文件) 4、oc_ipRecord.inc ip记录数据库 5、Recordip.inc ip记录函数 6、showipaddess.asp 显示ip来源页面 7、showipReco...
上传时间: 2015-10-27
上传用户:xyipie
资源简介:防止密码被非法获取防止密码被非法获取防止密码被非法获取
上传时间: 2015-03-22
上传用户:dragonhaixm
资源简介:ip Qualification與ip Verification
上传时间: 2015-07-26
上传用户:hn891122
资源简介:ip地址探测器 ip地址探测器
上传时间: 2015-10-01
上传用户:myworkpost
资源简介:介绍了Internet网络编程中涉及到的TCP/ip协议、ip数据 报、TCP段、套接字等重要概念,并在此基础上论述了基于VC++的 MFC编写客户/服务 器程序的方法和一般过程。
上传时间: 2015-12-08
上传用户:ANRAN
资源简介:PIC16_TCP/ip中的ip协议的实现源码
上传时间: 2013-12-20
上传用户:xc216
资源简介:dll获得ip dll获得ip dll获得ip dll获得ip dll获得ip
上传时间: 2016-02-29
上传用户:Divine
资源简介:第二章dll获得ip dll获得ip dll获得ip
上传时间: 2014-01-26
上传用户:ywqaxiwang
资源简介:QoS in ternet ip revolution - from “ip over everything” to “everything over ip” Current Internet guarantee: Best Effort only.
上传时间: 2016-03-05
上传用户:小眼睛LSL
资源简介:扫描局域网ip 扫描局域网ip
上传时间: 2013-12-23
上传用户:qunquan
资源简介:ip解析包 ip解析包
上传时间: 2013-12-24
上传用户:520
资源简介:delphi,利用"纯真ip数据库"进行ip地理位置查询,附源码。
上传时间: 2016-10-17
上传用户:moerwang
资源简介:TCP/ip vs UDP/ip Using VB + Winsock
上传时间: 2017-03-20
上传用户:lht618
资源简介:基于Silabs的C8051F340单片机控制以太网控制器CP2200完成静态ip和动态ip的演示性网页
上传时间: 2017-06-01
上传用户:zhaiye
资源简介:分类ip地址 特殊ip地址 私有网络地址 ip地址配置
上传时间: 2014-01-08
上传用户:PresidentHuang
资源简介:mfc源程序,读取本机ip并在ip控件显示本机ip,
上传时间: 2017-09-11
上传用户:kelimu
资源简介:能够获取外网ip的delphi程序,内网ip ,外网ip等
上传时间: 2014-01-21
上传用户:王者A
资源简介:可以简单实现网络爬虫信息,对一些字符可以进行txt存储,有效实用
上传时间: 2019-04-28
上传用户:zhuiqiu1234567
资源简介:网络是怎样连接的_户根勤---解压密码:666666目录浏览器生成消息 1——探索浏览器内部1.1 生成HTTP 请求消息51.1.1 探索之旅从输入网址开始 51.1.2 浏览器先要解析URL 71.1.3 省略文件名的情况 91.1.4 HTTP 的基本思路 101.1.5 生成HTTP 请求消息 141.1.6 发...
上传时间: 2022-06-02
上传用户:fliang
资源简介:故障样本数据的获取是模拟电路故障诊断中最基本的步骤。为了实现短时间内多次进行故障注入、获取大量样本数据,提出了基于SLPS的样本数据自动获取技术。利用SLPS将PSpice与Matlab结合,采用Matlab编程,实现故障模拟电路仿真数据获取的自动化。实际应用表明该...
上传时间: 2013-10-23
上传用户:ZJX5201314
资源简介:自蔓延高温合成技术是利用原料在初始点燃条件下化学反应所产生的高温高热,使燃烧反应自发地进行,从而得到新的成分和结构的产物。通过对自蔓延高温合成实验压力和燃烧速率测试方法的研究,根据实验的要求,选择合适的压力传感器,并自行设计有效的燃烧速率测...
上传时间: 2013-11-16
上传用户:q986086481
资源简介:开元的blog .如果不能打开左侧资源列表中的内容、无法阅读到图书、注册认证出现 网络不通等情况: 您很可能是在局域网通过代理服务器上网,需要在超星阅览器中设置代 理服务器。方法是: 在超星阅览器的设置菜单中选择使用IE设置(此时,IE中需要已经...
上传时间: 2015-06-14
上传用户:开怀常笑
资源简介:本程序可获取本地网络端口状态,通过ip地址,获取端口号、端口状态、连接次数...让用户清楚本地网络的安全性。
上传时间: 2015-10-14
上传用户:wangchong
资源简介:本小程序可用来获取网络设置状态,其功能类似在CMD中使用ipconfig /all命令。可查看本地网络的DNS、子网掩码、网卡地址和绑定的ip地址、ip路由、默认网关、工作域等。我所上传的程序均在在VC 6.0中调试通过。
上传时间: 2015-10-14
上传用户:yimoney
资源简介:可以爬取百度百科,验证有效,不错的代码示例,可以深入学习
上传时间: 2015-04-22
上传用户:爱莲说爱你
资源简介:产品型号:VK36N2D 产品品牌:VINTEK/永嘉 封装形式:SOP8/DFN8 产品年份:新年份产品 元泰原厂直销,现货更有优势!工程服务,技术支持,让您的生产高枕无忧。 概述 V K 3 6 N 2 D具有2个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该芯片具...
上传时间: 2020-06-11
上传用户:shubashushi66