我正在嘗試製作一個網絡爬蟲,它將使用我的憑據登錄學校網站,然後爬取網站的某些部分。我現在用的是美麗的湯Python庫在這裏找到:以編程方式登錄Python網絡爬蟲
http://www.crummy.com/software/BeautifulSoup/bs4/doc/
我可以得到的用戶名和密碼字段中輸入正確的源代碼,但我不知道如何提供給他們。另外,我也有提交它們的問題。我有抓取「提交」按鈕的源代碼,但我不知道如何請求登錄。
感謝,
我正在嘗試製作一個網絡爬蟲,它將使用我的憑據登錄學校網站,然後爬取網站的某些部分。我現在用的是美麗的湯Python庫在這裏找到:以編程方式登錄Python網絡爬蟲
http://www.crummy.com/software/BeautifulSoup/bs4/doc/
我可以得到的用戶名和密碼字段中輸入正確的源代碼,但我不知道如何提供給他們。另外,我也有提交它們的問題。我有抓取「提交」按鈕的源代碼,但我不知道如何請求登錄。
感謝,
您可以使用Mechanize,一個模擬瀏覽器,或者只發送POST /手動GET請求庫。
Mechanize's homepage有一個完整的例子,你可以試試。
如果你想要去的手動請求,我通常只是打開Chrome瀏覽器的JS控制檯,序列化的形式,看看哪些參數被髮送:
> $('form#search').serialize()
"q="
然後你只需要發送一個POST
請求發送到該網址與這些參數:
import requests # Install `requests` if you want to use my example code
session = requests.session() # So your cookies persist across requests
response = session.post('your_url', data={
'q': 'search string'
}).text
+1,永遠不知道通過控制檯序列化。 – RocketDonkey
謝謝!這兩個看起來都很棒,但我會考慮機械化 – Joker
機械化可能是一個更好的選擇 –
謝謝,我會着眼於它。 – Joker