时间:2023-04-26 18:45:01 | 来源:网站运营
时间:2023-04-26 18:45:01 来源:网站运营
动态ua与ip代理池的维护:一,动态的uapip install fake-useragent
"""使用前需要安装pip install fake-useragent"""import fake_useragentobj = fake_useragent.UserAgent()print(obj, type(obj))for i in range(10): ua = obj.random print(ua) print('发起请求',i)
https://www.xicidaili.com/wt/
写一个方法,爬取其中的数据,将其保存(文件,数据库)url = "https://www.baidu.com"proxies_list = [{"http":"http://27.152.91.52:9999"}]unuseful_list = [] # 失效的ip代理列表for pro in proxies_list: print('当前代理', pro) headers = {"User-Agent": obj.random} res = requests.get(url, headers=headers, proxies=pro) if res.status_code == 200: print('请求成功,这是一个可用的代理') else: print('请求失败,不可用的代理') unuseful_list.append(pro)
# 1 测试ip代理的可用性,不可用的放在一个列表中存着url = "https://www.baidu.com"proxies_list = [{"http":"http://27.152.91.52:9999"}]unuseful_list = [] # 失效的ip代理列表for pro in proxies_list: print('当前代理', pro) headers = {"User-Agent": obj.random} res = requests.get(url, headers=headers, proxies=pro) if res.status_code == 200: print('请求成功,这是一个可用的代理') else: print('请求失败,不可用的代理') unuseful_list.append(pro)# 2,删除不可用的# 批量处理,把失效的ip代理全部从源数据中删掉# 从原始数据中,把不可用的代理删掉for unuse in unuseful_list: if unuse in proxies_list: proxies_list.remove(unuse)# 3,ip代理的补充,前面删了多少,我要补充多少unuse_num = len(unuseful_list)proxies_list = get_proxies_list(unuse_num)# 把新增的ip列表,添加到原数据中proxies_list.extend(proxies_list)# 代理的维护工作就完成
def get_one_ip(): # 获取一个ip地址 ip = {"http":"http://27.152.91.52:9999"} # 验证是否已存在 # res = check_if_exist(ip) res=True # 如果ip已存在,那么自己再一次调用自己 if res == True: ip = get_one_ip() return ipdef get_proxies_list(num): """获得需要数量的不重复的ip""" proxies_list = list() for i in num: ip = get_one_ip() proxies_list.append(ip) return proxies_list
关键词:维护,代理,动态