试图抓取一些数据,但首先我需要登录。我正在尝试使用python-requests,到目前为止,这是我的代码:
login_url = "https://www.wehelpen.nl/login/"
users_url = "https://www.wehelpen.nl/ik-zoek-hulp/hulpprofielen/"
profile_url = "https://www.wehelpen.nl/profiel/01136/hulpvragen/"
uname = "****"
pword = "****"
def main():
s = login(uname, pword, login_url)
page = s.get(users_url)
print makeUTF8(page.text) # grab html and grep for logged in text to make sure!
def login(uname, pword, url):
s = requests.session()
s.get(url, auth=(uname, pword))
csrftoken = s.cookies['csrftoken']
login_data = dict(username=uname, password=pword,
csrfmiddlewaretoken=csrftoken, next='/')
s.post(url, data=login_data, headers=dict(Referer=url))
return s
def makeUTF8(text):
return text.encode('utf-8')
基本上,我需要使用请求登录login_url
(POST
使用csrf
令牌,否则我会收到错误),然后使用从session
传回的对象,我想通过向用户页面login()
发出请求来检查我是否已登录。GET
当我得到回报时——page.text
然后我可以运行一个grep
命令来检查某个href
告诉我是否登录的命令。
所以,到目前为止,我无法登录并保持一个工作会话对象。谁能帮我?到目前为止,这是我一生中最乏味的 python 体验。
编辑。我已经搜索,搜索和搜索了答案,但没有任何工作......