二,動態(tài)的ip代理







動態(tài)的ua使用前先安裝

pip install fake-useragent


代碼

"""使用前需要安裝pip install fake-useragent"""import fake_usera" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運營 > 動態(tài)ua與ip代理池的維護(hù)

動態(tài)ua與ip代理池的維護(hù)

時間:2023-04-26 18:45:01 | 來源:網(wǎng)站運營

時間:2023-04-26 18:45:01 來源:網(wǎng)站運營

動態(tài)ua與ip代理池的維護(hù):一,動態(tài)的ua

二,動態(tài)的ip代理








動態(tài)的ua

使用前先安裝

pip 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)








ip代理池的維護(hù)

  1. 構(gòu)建自己的ip代理池
  2. 檢察ip代理池中內(nèi)容的可用性






一 構(gòu)建ip代理池

舉例,從這個網(wǎng)站獲取數(shù)據(jù)

https://www.xicidaili.com/wt/寫一個方法,爬取其中的數(shù)據(jù),將其保存(文件,數(shù)據(jù)庫)

爬取數(shù)據(jù)的時候,要注意去重







二 維護(hù)ip代理池,每天在第一次使用的時候,可以維護(hù)

從數(shù)據(jù)庫中讀取出全部的數(shù)據(jù),依次得到每一個ip代理

使用這個ip對某一個網(wǎng)站進(jìn)行訪問,根據(jù)訪問的狀態(tài)碼,判斷代理是否可用

參考代碼

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)


刪掉數(shù)據(jù)以后,還需再去爬,要確保ip代理池里的內(nèi)容夠用

比如unuseful_list 裝了6個失效的ip代理

那么我們就調(diào)一個方法,去爬6個新的ip代理就可以了




# 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)

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉