python用于爬取ip代理地址存储txt

#泓源视野-博弈源  

#python3用于爬取ip代理地址,程序暂未完善,没有有做自动翻页

import requests
import parsel
import time

def check_ip(proxies_list):
"""检测ip的方法"""
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36'}

can_use = []
for proxy in proxies_list:
try:
response = requests.get('http://www.baidu.com', headers=headers, proxies=proxy, timeout=0.1) # 超时报错
if response.status_code == 200:
can_use.append(proxy)
except Exception as error:
print(error)
return can_use
import requests
import parsel

# 1、确定爬取的url路径,headers参数
base_url = 'https://www.kuaidaili.com/free/intr'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36'}

# 2、发送请求 -- requests 模拟浏览器发送请求,获取响应数据
response = requests.get(base_url, headers=headers)
data = response.text
# print(data)
#打开一个ip.txt文件用于记录
file = open('ip.txt', 'a+', encoding='utf-8')  #'a+'表示(可追加可写,文件若不存在就创建)

for j in range(1,10):
print("正在爬取第"+str(j)+"页IP")

# 3、解析数据 -- parsel 转化为Selector对象,Selector对象具有xpath的方法,能够对转化的数据进行处理
# 3、1 转换python可交互的数据类型
html_data = parsel.Selector(data)
# 3、2 解析数据
parse_list = html_data.xpath('//table[@class="table table-bordered table-striped"]/tbody/tr') # 返回Selector对象
# print(parse_list)

# 免费 IP {"协议":"IP:port"}
# 循环遍历,二次提取
proxies_list = []
for tr in parse_list:
proxies_dict = {}
http_type = tr.xpath('./td[4]/text()').extract_first()
ip_num = tr.xpath('./td[1]/text()').extract_first()
port_num = tr.xpath('./td[2]/text()').extract_first()
# print(http_type, ip_num, port_num)
#写入txt文件
file.write(ip_num)
file.write(' ')
file.write(port_num)
file.write('\n')

# 构建代理ip字典
proxies_dict[http_type] = ip_num + ':' + port_num
# print(proxies_dict)
proxies_list.append(proxies_dict)

print(proxies_list)
print("获取到的代理ip数量:", len(proxies_list), '个')

file.close()

本文由 泓源视野 作者:admin 发表,其版权均为 泓源视野 所有,文章内容系作者个人观点,不代表 泓源视野 对观点赞同或支持。如需转载,请注明文章来源。

发表评论

Protected with IP Blacklist CloudIP Blacklist Cloud

您是第8239252 位访客, 您的IP是:[18.215.33.158]