大家好,又见面了,我是你们的朋友全栈君。
在爬虫时经常需要使用代理,于是我爬取了一个可以免费提供代理的网址,从中获取免费代理,从而打造属于一个自己的代理池。
如图所示,这是网址的界面展示,我们需要做的就是需要其中的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)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138540.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...