打造自己的ip代理池
2023-06-13 09:11:53 时间
大家好,又见面了,我是你们的朋友全栈君。
在爬虫时经常需要使用代理,于是我爬取了一个可以免费提供代理的网址,从中获取免费代理,从而打造属于一个自己的代理池。
如图所示,这是网址的界面展示,我们需要做的就是需要其中的ip、port列中的数据,获取数据后需要我们拼接成一个完整的IP然后保存即可,代码如下:
import requests
from lxml import etree
import os
url = 'https://www.kuaidaili.com/free/inha/3/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36'
}
content = requests.get(url,headers = headers).text
resonse = etree.HTML(content)
tr_list = resonse.xpath('//div[@id="list"]/table/tbody/tr')
#print(tr_list)
ip_list = []
for tr in tr_list:
ip = tr.xpath('./td[1]/text()')
port = tr.xpath('./td[2]/text()')
proxy_ip = ip[0] +':' + port[0]
#print(proxy_ip)
ip_list.append(proxy_ip)
print(ip_list)
代码运行后获取到完整的ip数据,接下来我们就可以使用这些代理了,这里需要使用random来随机选择一个ip。
proxy=random.choice(ip_list) #本地代理
proxies={
'http':'http://'+proxy,
'https':'https://'+proxy
}
try:
response=requests.get('网址',proxies=proxies)
print(response.text)
except requests.exceptions.ConnectionError as e:
print('错误:',e.args)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138540.html原文链接:https://javaforall.cn
相关文章
- 企业能够通过代理IP开展哪些业务?
- Java 实现ip代理池请求-爬虫防封、文章阅读刷量
- Apache负载均衡配置(反向代理模式)
- java动态代理与静态代理的区别
- cglib实现动态代理_cglib和jdk动态代理
- 正向代理&反向代理(校园网为例)
- ES6 学习笔记(十二)代理器Proxy的简单使用
- Springboot实现VNC的反向代理
- 代理可用性测试及使用
- ASEMI代理AD8400ARZ10-REEL亚德诺(ADI)芯片AD8400ARZ10-REEL
- 解决Oracle代理无法访问问题(oracle代理无法访问)
- Linux网络环境构建: IP配置调整(linux网络ip)
- Linux指定IP访问:实现网络安全性(linux指定ip访问)
- Linux下静态IP设置指南(linux静态ip设置)
- 修改Oracle主机名IP修改实现安全运行(oracle主机名ip)
- Python3.x:获取代理ip以及使用详解编程语言
- “轻松掌握!Linux查看IP的简易方法”(linux看ip)
- 使用Linux实现代理IP网络加密保护(linux代理ip)
- Linux下修改IP的实现步骤(linux修改ip的文件)
- 改变Linux系统IP:一步步指南(怎么改linux的ip)
- Linux C程序员看穿外网 IP的迷雾(linuxc外网ip)
- 修改Redis服务器IP,尽快让其可用(修改redis的ip)
- Oracle代理读写分离优化数据库 提升性能(oracle代理读写分离)
- Redis限制访问禁止某个特定IP访问(redis限制某个ip)
- Redis 配置的IP和密码实现安全控制(redis配置密码和ip)
- 快速搭建Redis连接代理的办法(redis连接代理)
- Oracle IP变化的可能性(oracle ip改变吗)