今天准备重写一下代理池,发现89代理的api可以批量全部获取,第一次先去首页获取全部的数量,第二次直接访问api获取,参考作者代码发现是一个个页面爬取的,如果看得到的话是否考虑改一改,当然,我看这个网址挺快的,也没啥问题
fivyi3re1#
一次最多获取2800个,一些虽然在首页搜不到,但作为免费代理,差的这些也不重要
zz2j4svz2#
感谢。
@staticmethoddef freeProxy14():"""89ip.cn api:return:"""request = WebRequest()url=" https://api.89ip.cn/tqdl.html?api=1&num=3000&port=&address=&isp= "r = request.get(url, timeout=10)#yield r.textproxies = re.findall(r'(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}):(\d*)', r.text)for proxy in proxies:yield ':'.join(proxy)
euoag5mw3#
@staticmethod def freeProxy14(): """ 89ip.cn api :return: """ request = WebRequest() url="https://api.89ip.cn/tqdl.html?api=1&num=3000&port=&address=&isp=" r = request.get(url, timeout=10) #yield r.text proxies = re.findall(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d*)<br>', r.text) for proxy in proxies: yield ':'.join(proxy)
一下子增加了150+免费代理
3条答案
按热度按时间fivyi3re1#
一次最多获取2800个,一些虽然在首页搜不到,但作为免费代理,差的这些也不重要
zz2j4svz2#
感谢。
@staticmethod
def freeProxy14():
"""
89ip.cn api
:return:
"""
request = WebRequest()
url=" https://api.89ip.cn/tqdl.html?api=1&num=3000&port=&address=&isp= "
r = request.get(url, timeout=10)
#yield r.text
proxies = re.findall(r'(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}):(\d*)
', r.text)
for proxy in proxies:
yield ':'.join(proxy)
euoag5mw3#
@staticmethod def freeProxy14(): """ 89ip.cn api :return: """ request = WebRequest() url="https://api.89ip.cn/tqdl.html?api=1&num=3000&port=&address=&isp=" r = request.get(url, timeout=10) #yield r.text proxies = re.findall(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d*)<br>', r.text) for proxy in proxies: yield ':'.join(proxy)
一下子增加了150+免费代理