代理IP爬虫
最近爬的太猖獗了 封IP封了N次{:10_285:}所以就写了这个爬虫 希望能帮到大家{:10_334:}
废话少说 上代码
import requests
import parsel
import time
demo_url = str(input('请输入要测试的网站>>>'))
start_demo_page = int(input('请输入要测试的起始页数>>>'))
end_demo_page = int(input('请输入要测试的末尾页数>>>'))
#base_url = 'https://www.kuaidaili.com/free/inha/1/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}
def check_ip(proxies_dict):
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}
can_use = []
for ip in proxies_dict:
try:
response = requests.get(url=demo_url,headers=headers,IP_list=ip,timeout = 0.1)
if response.status_code == 200:
can_use.append(ip)
except Exception:
print('当前代理ip:',ip,'请求超时,质量不合格')
finally:
print('当前代理ip:',ip,'检测通过')
can_use.append(ip)
return can_use
proxies_list = []
for page in range(start_demo_page,end_demo_page+1):
base_url = 'https://www.kuaidaili.com/free/inha/{}/'.format(page)
print('############正在下载第{}页数据############'.format(page))
if page>1:
print('休息一下')
time.sleep(1)
html_data = requests.get(url=base_url,headers=headers).text
selector = parsel.Selector(html_data)
result_list = selector.xpath('//tbody/tr')
for sel in result_list:
IP = sel.xpath('./td[@data-title="IP"]/text()').extract_first()
Type = sel.xpath('./td[@data-title="类型"]/text()').extract_first()
PORT = sel.xpath('./td[@data-title="PORT"]/text()').extract_first()
proxies_dict = {}
proxies_dict = IP + ":" + PORT
print('保存成功:',proxies_dict)
proxies_list.append(proxies_dict)
print(proxies_list)
print('获取到的IP数量:',len(proxies_list))
print('############正在检测ip质量############')
can_use = check_ip(proxies_list)
print('质量高:',can_use)
print('数量:',len(can_use))
for ip in can_use:
with open('data.csv',mode='a+',encoding='utf-8') as f:
ip_data = str(ip)
f.write(ip_data + '\n\n')
print('测试完成,具体数据已写入至data.csv')
最后 希望各位继续学习 学业有成
开始报错,我才知道模块没安装,安装模块后,程序可以跑起来 为什么一个质量高的ip都没有呢orz hhhhhhy 发表于 2020-8-17 19:58
为什么一个质量高的ip都没有呢orz
看你测试的是哪个网站了{:10_334:} 风尘岁月 发表于 2020-8-18 11:15
看你测试的是哪个网站了
试了好几个网站都不行……求大佬指个合适的网站orz hhhhhhy 发表于 2020-8-20 21:00
试了好几个网站都不行……求大佬指个合适的网站orz
https://www.baidu.com 风尘岁月 发表于 2020-8-20 21:01
https://www.baidu.com
喵喵喵 好的感谢! 感谢分享!! 666
页:
[1]