近期需要從論壇採集一些資料,就使用爬蟲專屬語言python寫了乙個小爬蟲,實現自動登入,並到指定的板塊採集帖子標題、作者等資訊。
實現自動登入的關鍵在於模擬瀏覽器向伺服器傳送資料報,用fiddler抓包看一下,過程非常清晰:
1. 論壇的登入頁面鏈結
2. 研究fiddler捕捉到的資料報,可以看到瀏覽器以post方法向伺服器傳送了包含使用者名稱和口令等字段,如圖1所示,
圖1
除username和password之外,還有一項sid,經過多次抓包分析,sid欄位的值是cookie中的一項,如圖2所示,
cookie中phpbb2mysql的值與之前我們分析的sid值一致,到此,我們就能夠完整構造資料報模擬瀏覽器登入
3. 完整**:
username = '******xx' # 使用者名稱
password = ******xx # 口令
url_0 = '' # 首先請求主頁
req_0 = urllib2.request(url_0 ,headers = self.headers)
self.opener.open(req_0).read()
phpbb2mysql_sid = ''
for cookie in self.cookiehandler:
if cookie.name=="phpbb2mysql_sid":
phpbb2mysql_sid = cookie.value # 關鍵:將cookie中的phpbb2mysql_sid值賦給變數
postdata =
postencodedata = urllib.urlencode(postdata) # 資料報編碼
url_1 = ''
req_1 = urllib2.request(url_1,postencodedata,headers=self.headers) # 請求
data_1 = self.opener.open(req_1).read()
的python實現 python實現檔案自動歸類
這幾天和幾個小夥伴,在一起做乙個ppt。那我想,可不可以做乙個指令碼實現檔案按照副檔名自動分類呢?這樣,就可以相對輕鬆的找到檔案了。效果展示 使用方法很簡單,只要把python指令碼檔案,放到待處理的資料夾目錄下,執行python檔案即可。這個指令碼實現比較簡單,我把涉及的知識點列了出來。1 相對路...
python之readline模組 實現自動補全
readline可以實現在python編輯器命令輸入的時候實現自動補全,輸入命令時可以使用上下鍵 刪除鍵等 wget no check certificate pip install readline 6.2.4.1.tar.gz這樣就把python自動補全的功能安裝完畢 如果想啟動python編輯...
自己動手寫Python實現Ubuntu自動切換桌布
使用windows7一段時間,覺得它的自動換桌布也挺好用的,換到ubuntu 11.04上,本想裝個軟體讓它自動換,後來發現drapes執行不了,又懶得裝其他軟體了。於是想按照別人說的寫個shell自動換桌布,但是因為偶沒怎麼接觸過shell程式設計,所以就求助於python了。ubuntu原本就可...