提取分组中我们需要的数据,IP,类型和端口号
parse_list = self.parse_data(data)
for tr in parse_list:
proxies_dict = {}
http_type = tr.xpath(‘./td[4]/text()’)
ip_num = tr.xpath(‘./td[1]/text()’)
port_num = tr.xpath(‘./td[2]/text()’)
http_type = ’ '.join(http_type)
ip_num = ’ '.join(ip_num)
port_num = ’ '.join(port_num)
proxies_dict[http_type] = ip_num + “:” + port_num
proxies_list.append(proxies_dict)
这里做了拼接,{'HTTP': '36.111.187.154:8888'}
这种形式存入列表,方便我们使用!
检测IP的可用性,因为是免费的IP所以有一些可能用不了,有一些访问速度较慢,这里我们让拼接好的ip去访问某度
0.1
秒能访问成功的保存在另一个列表中!
def check_ip(self,proxies_list):
headers = {‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36’}
can_use = []
for proxies in proxies_list:
try:
response = requests.get(‘https://www.baidu.com/’,headers=headers,proxies=proxi