我試圖用BeautifulSoup刮一個網站。相關網站要求我登錄。請查看我的代碼。刮一個需要登錄的網站
from bs4 import BeautifulSoup as bs
import requests
import sys
user = 'user'
password = 'pass'
# Url to login page
url = 'main url'
# Starts a session
session = requests.session(config={'verbose': sys.stderr})
login_data = {
'loginuser': user,
'loginpswd': password,
'submit': 'login',
}
r = session.post(url, data=login_data)
# Accessing a page to scrape
r = session.get('specific url')
soup = bs(r.content)
我想出了這個代碼已經在這裏看到了一些線後,在SO所以我想它應該是有效的,但打印的內容仍然彷彿我是註銷。
當我運行此代碼,這是印刷:當然
2013-05-10T22:49:45.882000 POST >the main url to login<
2013-05-10T22:49:46.676000 GET >error page of the main url page as if the logging in failed<
2013-05-10T22:49:46.761000 GET >the specific url<
中,登錄信息是正確的。 需要一些幫助的人。
@EDIT
我將如何實現頭成以上?
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]