2013-01-08 24 views
1

我正在嘗試製作一個網絡爬蟲,它將使用我的憑據登錄學校網站,然後爬取網站的某些部分。我現在用的是美麗的湯Python庫在這裏找到:以編程方式登錄Python網絡爬蟲

http://www.crummy.com/software/BeautifulSoup/bs4/doc/ 

我可以得到的用戶名和密碼字段中輸入正確的源代碼,但我不知道如何提供給他們。另外,我也有提交它們的問題。我有抓取「提交」按鈕的源代碼,但我不知道如何請求登錄。

感謝,

+1

機械化可能是一個更好的選擇 –

+0

謝謝,我會着眼於它。 – Joker

回答

5

您可以使用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 
+0

+1,永遠不知道通過控制檯序列化。 – RocketDonkey

+0

謝謝!這兩個看起來都很棒,但我會考慮機械化 – Joker