爬蟲代理池的使用

代理池的作用

用於解決爬蟲時訪問頻率過高封ip的問題

前期準備

1.需要準備一個代理池,可以自己爬取一些IP做一個代理池(簡單的做法可以是把IP放到txt文件讀取,也可以自己使用開源代理池代碼(借用別人做的代理池,不同代碼效率有差異,免費代理池一般效率不高)
放一個代理池鏈接:
鏈接:https://pan.baidu.com/s/1w6FpNgFXhP3_wWBQOM441Q
提取碼:dtsx
2.安裝相關的包、模塊、數據庫等(如redis數據庫),可以在運行代理池的時候發現哪些包哪些模塊沒有安裝,安裝lAnaconda的話,基本pip install都能很快裝好。

打開代理池

#定位到run.py所在路徑
cd  /d   代理池中run.py文件所在路徑
python  run.py

查看代理池情況

1.可以通過redis數據庫管理器查看;
2.可以在瀏覽器網址欄中輸入:http://localhost:5000/count(查看當時代理運行個數)或者http://localhost:5000/get(查看實時ip)查看。

引入到爬蟲代碼

# ck='_Jo0OQK=350FB9480019A6D74D27FA7C0B1211547458FA75BA03836679CA73ABCEEC4538F426538FF216748BFA4A0795355AF533CA27C126B09544AA6961ED75D34A63F170E2DF09B220C8082124ED14892373145994ED1489237314599BE994A6718907CADGJ1Z1Nw==; yfx_c_g_u_id_10003701=_ck20010219091017770687233577177; yfx_f_l_v_t_10003701=f_t_1577963350770__r_t_1577963350770__v_t_1577963350770__r_c_0; JSESSIONID=9E9A078C95D254194B441C247075C5F9'
URL = 'http://hd.chinatax.gov.cn/service/findCredit.do'
HEADER = {
    # 'cook':ck,
    'Cookie':'yfx_c_g_u_id_10003701=_ck20010213270718060327858317372; yfx_f_l_v_t_10003701=f_t_1577942827558__r_t_1578110660667__v_t_1578110660667__r_c_2; _Jo0OQK=2AC5AF2AA9DABE0A2A8F44B831C995165EBDDC6F3CCE1B2CF9493F3A06EFE8750F48CB97BF15E61F3285AA07F017918370D07A07064139D7F7D1B5500E4FB11E9952DF09B220C8082124ED14892373145994ED1489237314599BE994A6718907CADGJ1Z1ew==; JSESSIONID=198C1FAE52EFB8FA81836E25D0F67C33',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36',
}

response = requests.get('http://127.0.0.1:5000/get')
proxy={
        'http:':'http://'+response.text
    }
print('使用代理:', proxy)
r = requests.get(URL, allow_redirects=False,headers=HEADER,proxies=proxy)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章