看片91_日日综合_成人黄色短视频在线观看_91视频 - v11=Av_国产高潮失禁喷水爽到抽搐视频_天天都色视频

Python登陸小米路由器撥號(hào)更換IP,繞過網(wǎng)站反爬IP限制機(jī)制

小編:圣子 更新時(shí)間:2023-04-19 19:02

圖/文:迷神

最近無聊去爬某眼查的企業(yè)數(shù)據(jù)信息,我已經(jīng)通過其他方式,把企業(yè)數(shù)據(jù)按照分類和某眼查的屬于存到表里面,只要通過某眼查的url地址爬取內(nèi)容詳細(xì)頁所需要的數(shù)據(jù)就可以了。但是呢,某眼查作為國內(nèi)專門抓別人的數(shù)據(jù)的站,基本上各種反扒機(jī)制都有。比如這某眼查如果未登錄用戶,只能爬100條,超過,立馬要求登陸。

有人可能說,怎么不用代理,答案是可以的,但是免費(fèi)代理,網(wǎng)上一堆免費(fèi),但是我實(shí)際爬過N多站,基本上100個(gè),能有5個(gè)就不錯(cuò)了。大部分都很假,當(dāng)然土豪也可以去付費(fèi)去買,然后驗(yàn)證下去買,但是,我們這里借助我們家庭wifi撥號(hào)上網(wǎng)模式,只要被限制,立馬通過python斷網(wǎng),然后重連,進(jìn)行更換IP。

Python+小米miwifi路由:

1、獲取路由撥號(hào)地址

Python登陸小米路由器撥號(hào)更換IP,繞過網(wǎng)站反爬IP限制機(jī)制

小米路由界面,這里是撥號(hào)上網(wǎng),切換IP

大家可以手動(dòng)登錄下小米路由器(你如果用python等會(huì)獲取結(jié)果一樣的,因?yàn)檫@個(gè)本地miwifi。com是指向服務(wù)器的,可以保持長時(shí)間在線的,沒必要反復(fù)登錄,我就不模擬登陸了,都是很easy的事情),可以看到這個(gè)撥號(hào)聯(lián)網(wǎng),是2個(gè)開始和暫停js事件,我們只要訪問這個(gè)地址,即可實(shí)現(xiàn),路由進(jìn)行撥號(hào)上網(wǎng),即可:

Python登陸小米路由器撥號(hào)更換IP,繞過網(wǎng)站反爬IP限制機(jī)制

這里我們用到3個(gè)類庫,先安裝下:

pip install pyquery #用于解析某眼查的頁面的,非常強(qiáng)大的一個(gè)html解析庫,有空可以講講 pip install requests #頁面請(qǐng)求。 pip install retrying #python異常重試類庫

爬蟲切換路由IP整體思路

1、就是通過數(shù)據(jù)庫,獲取某眼查url地址,然后開始爬數(shù)據(jù),如果爬取不到想要到的內(nèi)容,則是被攔截了。

res = mydb.select('url', cond_dict = {'name':'0'},fields=["id", "url"],order="order by id asc limit 1") id = res[0][0] url = res[0][1] print(url) r = s.get(url,headers=headers, timeout=5) html = r.text d = PyQuery(html) name = d.find('h1.name').text() if not name: if html.find('>抱歉,該信息暫不予顯示,查一查其它信息<') != -1: name = '企業(yè)異常,不予以展示' else: name = '' print(str(i)+":"+name) url2 = d.find('a.company-link').text() print(url2) if len(name) == 0: print('被攔截了'+str(i)) else: update_params = {"name": name,"wz":url2} # 需要更新為什么值 update_cond_dict = {"id": str(id)} # 更新執(zhí)行的查詢條件 mydb.update('url', update_params, update_cond_dict)

2、調(diào)用小米路由器的接口,進(jìn)行撥號(hào)更換,一屏蔽IP,就立馬更換IP。

print('開始斷網(wǎng)切換IP') r = s.get("網(wǎng)址/cgi-bin/luci/;stok=固定密鑰/api/xqnetwork/pppoe_stop") for ms in range(10): print('斷網(wǎng)連接'+str(ms)+'秒') time.sleep(1) print('開始聯(lián)網(wǎng)切換IP') r = s.get("網(wǎng)址/cgi-bin/luci/;stok=固定密鑰/api/xqnetwork/pppoe_start") for ms in range(15): print('等待聯(lián)網(wǎng)'+str(ms)+'秒') time.sleep(1)

3、這里調(diào)用retrying模式,就是當(dāng)出現(xiàn)異常的時(shí)候,進(jìn)行重試,這樣就可以實(shí)現(xiàn)反復(fù)不斷的爬取內(nèi)容,

from retrying import retry @retry(stop_max_attempt_number=50000,wait_fixed=2000) def tyc(): #代碼 if __name__ == '__main__': tyc()

最后我們的結(jié)果就變成這樣了。

Python登陸小米路由器撥號(hào)更換IP,繞過網(wǎng)站反爬IP限制機(jī)制

最終結(jié)果

這樣,就可以不斷反復(fù)爬數(shù)據(jù)了,不過,有銀子,還是建議買代理吧,一般Vip代理好一點(diǎn)。

主站蜘蛛池模板: 日本福利一区二区三区 | 国产精品久久久久久久久久久久久 | 国产精品国产三级国产aⅴ原创 | 国产精选久久久 | 黄色在线亚洲 | 欧美日韩三级在线 | 99精彩视频 | 国产小视频在线 | 亚洲精品在线观看视频 | 国产iv一区二区三区 | 天堂在线观看 | 日韩国产精品久久久久久亚洲 | 久久亚洲一区 | 亚洲综合一区二区 | 国产午夜精品福利 | 视频在线二区 | 成人精品电影 | 亚洲精品综合一区二区 | 欧美成人精品一区二区三区 | 伊人国产在线 | 欧美亚洲激情视频 | av在线一区二区 | 在线视频日韩 | 日韩精品一区二区在线 | 污视频网站在线免费观看 | 国产精品一区二区三区四区五区 | 自拍第二页 | 日韩 欧美 综合 | 99re在线观看| 高清一区二区三区日本久 | 欧美日韩国产一区 | 91亚洲成人 | 精品一区二区三区免费毛片爱 | 炮机高潮痉挛哭叫失禁 | 69无线观看免费版 | 99久久久久国产精品免费 | 日韩国产在线 | 日本一区二区三区免费在线观看 | 久久久久久影院 | 青青草欧美 | 欧美三级视频在线观看 |