最近用爬蟲爬豆瓣上的資料,無奈總是被封,agent偽裝和cookie修改這些都用過了,可惜都起不了什麼作用,到了一定次數,還是會返回403。想用**ip,無奈免費的太不穩定,買收費的又有點沒必要。今天在查資料的時候,讀到一篇談adsl撥號**的文章,剛好我又是用這種方式上網,於是想到了乙個對付豆瓣反爬蟲的辦法,當爬蟲檢測到被封的時候,斷開路由器連線,休眠一段時間之後繼續爬。
ps:我的路由器型號是tl-wr842n
#進入你的路由器管理頁,我的是,開啟瀏覽器的抓包介面,我的是chrome,直接f12就行了,然後輸入密碼登入。!/usr/bin/env python
#-*- coding: utf-8 -*-
#用來斷開路由連線,目的是通過這個方法換ip
data = # 登陸後觀察獲得}#
根據自己的情況來填
headers =
url = "
"html = requests.post(url,json=data,headers=headers,verify = false
)print(html.headers)
stok = json.loads(html.text)["stok"]
full_url = "stok="+ stok +"/ds"
disconnect = },"
method
":"do
"} #
通過觀察獲得
disconn_route = requests.post(url=full_url, json=disconnect).json()
print(disconn_route)
開啟network選項卡,找到第乙個名為192.168.0.1的檔案,在右側找到request payload部分,在這裡可以找到你登入時加密後的密碼,實際上直接點view source,然後把內容拷貝到**裡就行了。
也是在剛才那個檔案找到request headers然後把內容拷貝過去。
譬如我想斷開連線,於是進入路由設定→上網設定介面,通過element找到按鈕的html元素,最後找到它**函式檔案:
點進去檔案後找到.action操作,這就是斷開連線需要呼叫的函式了。
填好這些資訊之後,執行**並觀察結果。如果呼叫成功,則列印:
這就是tl-wr842n的路由器控制指令碼,型號不同的則不一定適用。
1. 使用xx-net後 不能用python重啟路由 #10283
用python管理Cisco路由器
目前devops是整個運維發展的方向,network的運維也一樣。使用程式控制底層的路由器是最基本的要求之一。本文簡單解釋如何用python控制路由器,對網路裝置進行配置。一 安裝paramiko paramiko可以通過標準的pip install安裝,也可以通過整合的安裝包anaconda2種的...
路由器流量控制
一些高階路由器上均具備流量控制機制,本篇文件主要介紹3個應用於高階路由器的流量控制機制 反壓機制 佇列機制 流量監管。2.1 反壓機制 報文經過上行介面板的處理之後,會送往交換網板進行交換。因為所有報文都要經過交換網的交換,所以交換網是決定路由器效能的最核心單元,交換網應該是 無阻塞 的,其 容量是...
路由器連線路由器
有兩種方法!無論哪種,和貓接的主路由總是不變!只要改從路由的設定!第一。從路由還是當路由用!設定 路由a為主路由,路由b為從路由!假設你現在有兩個路由 路由a 和 路由b 同時使用的是adsl撥號上網。首先,設定路由a的wan口狀態設定為pppoe撥號狀態,然後填入adsl撥號的賬號和密碼。然後,設...