python爬取免费代理并验证代理是否可用
作者:小军递 时间:2021-12-24 20:02:48
分享一个python脚本,使用代理ip来访问网页,方便抓取数据什么的~并自动验证ip是否可以用
什么情况下会用到 * ?比如你要抓取一个网站数据,该网站有100万条内容,他们做了IP限制,每个IP每小时只能抓1000条,如果单个IP去抓因为受限,需要40天左右才能采集完,如果用了 * ,不停的切换IP,就可以突破每小时1000条的频率限制,从而提高效率。
脚本开始:
import requests
from lxml import etree
# 获取快代理首页的代理
def get_proxy_list():
url = "https://www.jxmtjt.com/"
payload = {}
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36",
'Accept': 'application/json, text/javascript, */*; q=0.01',
}
response = requests.request("GET", url, headers=headers, data=payload)
res = []
_ = etree.HTML(response.text)
type_dct = {
"HTTP": "http://",
"HTTPS": "https://"
}
data_list = _.xpath("//tbody/tr")
for data in data_list:
ip = data.xpath("./td[1]/text()")[0]
port = data.xpath("./td[2]/text()")[0]
type = data.xpath("./td[4]/text()")[0]
res.append(type_dct[type] + ip + ':' + port)
return res
# 测试代理
def check(proxy):
href = 'http://www.baidu.com/'
if 'https' in proxy:
proxies = {'https': proxy}
else:
proxies = {'http': proxy}
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4396.0 Safari/537.36'
}
try:
r = requests.get(href, proxies=proxies, timeout=5, headers=headers)
if r.status_code == 200:
return True
except:
return False
if __name__ == '__main__':
proxy_list = get_proxy_list()
print(proxy_list)
for p in proxy_list:
print(p, check(p))
大家代码复制后,把获取代理ip的网址改一改就可以用了,代码我一直在用,大家也可以cnblogs,百度搜索一下有没有免费的代理ip获取网址~
来源:https://www.cnblogs.com/xiaojuntest/p/15771517.html
标签:python,爬取免费代理,验证代理
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python2.7 json 转换日期的处理的示例
2021-02-10 12:39:50
Python调用飞书发送消息的示例
2022-10-20 14:21:23
mysql Load Data InFile 的用法
2009-09-06 12:08:00
Linux PHP连接MSSQL
2011-06-02 12:01:00
如何建设一个多语言版的ASP网站?
2009-11-26 20:36:00
Python基础面向对象之继承与派生详解
2022-04-20 11:58:53
![](https://img.aspxhome.com/file/2023/4/67424_0s.png)
使用Dreamweaver MX表格排序功能
2010-07-13 12:08:00
![](https://img.aspxhome.com/file/UploadPic/20072/200723113353356s.jpg)
ubuntu定时执行python脚本实例代码
2022-11-30 17:35:03
Python特效之数字成像方法详解
2022-09-12 13:16:22
![](https://img.aspxhome.com/file/2023/2/90782_0s.jpg)
分析python并发网络通信模型
2023-12-15 11:13:59
python中logging模块的一些简单用法的使用
2023-08-12 09:28:17
![](https://img.aspxhome.com/file/2023/6/94186_0s.png)
pandas 把数据写入txt文件每行固定写入一定数量的值方法
2021-06-13 20:08:14
![](https://img.aspxhome.com/file/2023/4/87734_0s.jpg)
Python中遇到的小问题及解决方法汇总
2023-10-14 04:58:35
![](https://img.aspxhome.com/file/2023/1/78681_0s.png)
教你用pyecharts绘制各种图表案例(效果+代码)
2021-07-30 21:56:54
![](https://img.aspxhome.com/file/2023/8/94168_0s.png)
python网络爬虫 Scrapy中selenium用法详解
2023-02-03 06:08:46
![](https://img.aspxhome.com/file/2023/0/90690_0s.jpg)
Django Sitemap 站点地图的实现方法
2023-05-27 07:40:17
浅析“Rich”设计模式
2009-03-12 12:36:00
![](https://img.aspxhome.com/file/UploadPic/20093/12/39-24s.jpg)
使用Python求解最大公约数的实现方法
2021-03-20 07:58:51
微信小程序创建自定义全局函数以及其调用方法详解
2023-08-24 20:43:22
![](https://img.aspxhome.com/file/2023/5/56255_0s.png)
django认证系统 Authentication使用详解
2021-10-02 19:05:07