時間:2023-04-26 18:45:01 | 來源:網(wǎng)站運營
時間:2023-04-26 18:45:01 來源:網(wǎng)站運營
動態(tài)ua與ip代理池的維護(hù):一,動態(tài)的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('發(fā)起請求',i)
https://www.xicidaili.com/wt/
寫一個方法,爬取其中的數(shù)據(jù),將其保存(文件,數(shù)據(jù)庫)url = "https://www.baidu.com"proxies_list = [{"http":"http://27.152.91.52:9999"}]unuseful_list = [] # 失效的ip代理列表for pro in proxies_list: print('當(dāng)前代理', 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('當(dāng)前代理', 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)#?。?,刪除不可用的# 批量處理,把失效的ip代理全部從源數(shù)據(jù)中刪掉# 從原始數(shù)據(jù)中,把不可用的代理刪掉for unuse in unuseful_list: if unuse in proxies_list: proxies_list.remove(unuse)# 3,ip代理的補(bǔ)充,前面刪了多少,我要補(bǔ)充多少unuse_num = len(unuseful_list)proxies_list = get_proxies_list(unuse_num)# 把新增的ip列表,添加到原數(shù)據(jù)中proxies_list.extend(proxies_list)# 代理的維護(hù)工作就完成
def get_one_ip(): # 獲取一個ip地址 ip = {"http":"http://27.152.91.52:9999"} # 驗證是否已存在 # res = check_if_exist(ip) res=True # 如果ip已存在,那么自己再一次調(diào)用自己 if res == True: ip = get_one_ip() return ipdef get_proxies_list(num): """獲得需要數(shù)量的不重復(fù)的ip""" proxies_list = list() for i in num: ip = get_one_ip() proxies_list.append(ip) return proxies_list
關(guān)鍵詞:維護(hù),代理,動態(tài)
微信公眾號
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。