我试图用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')]