使用Python 2.7请求登录网站的问题

时间:2015-02-04 19:37:38

标签: python cookies

我正在尝试使用Python 2.7的请求模块自动登录William Hill网站(http://sports.williamhill.com/bet/en-gb

import requests

with requests.Session() as c:
    url = "https://sports.williamhill.com/bet/"
    Username = "blarxxx"
    PASSWORD = "blarxxx"
    r = c.get(url)
    Rcookies = r.cookies
    login_data = dict(username=Username, password=PASSWORD, action="DoLogin", target_page="http://sports.williamhill.com/bet/en-gb", tmp_username="Username")
    page1 = c.post(url,data=login_data, headers={"Referer" : "http://sports.williamhill.com/bet/en-gb/betting/t/295/English-Premier-League.html"})

print page1.content

然而,这并没有让我登录。

我查看了Chrome检测元素中的帖子数据,还有另外两个变量,loginuid和ioBlackBoxCopy。我认为这些将由网站在cookie中提供,但是我无法找到它们。

因此,您知道来自https://sports.williamhill.com/bet/的Cookie信息如下:

<<class 'requests.cookies.RequestsCookieJar'>[<Cookie CSRF_COOKIE=c2962a27a04d24250b13 for .williamhill.com/>, <Cookie TS01b0a0b6=0148840b445dac7f6388fc9588136faf4ebdb641d2b4ba2c7e1c3eda9a7079782232d97eaad7893999b63092cda29c0e07ad6757dfa994c354e332e3abda1d2bbfd684a7edc8beb96d001cad8478ffc5e53ab684ffaa39ed82c91fb9b77f5c70f63f174ad9421f9daa69f1d8a3170251041bca95512cbfcf8eaa3b483e3659120e2fc4690c for .williamhill.com/>, <Cookie cust_lang=en-gb for .williamhill.com/>, <Cookie cust_login= for .williamhill.com/>, <Cookie cust_prefs=en|ODDS|form|TYPE|PRICE|||0|SB|0|0||0|en|0|TIME|TYPE|0|1||0||0|1|0||TYPE| for .williamhill.com/>, <Cookie TS017d04d1=0148840b4403f8c68f0800245a6bf453cfe0f084759d52c21d738abcb353a043964350398d for sports.williamhill.com/>]>

我对Requests模块相对较新,并通过python登录网站。如果我能正确地接近这一点以及如何在我的帖子请求中获得额外的输入,如果确实需要它们,我将不胜感激。

非常感谢

J

1 个答案:

答案 0 :(得分:0)

您是否尝试在浏览器中查看WH的来源?有两个隐藏字段 - login_uid和action。可能对你有用吗?

但我不知道你是否可以下载html,因为它是由大js脚本构建的,当你向WH发送请求时会加载。

PS我正在尝试做同样的事情,只有WebDriver适合我。