我正在尝试使用StubHub API抓取一些销售数据。下面是此数据的一个示例:
https://sell.stubhub.com/sellapi/event/4236070/section/null/seatmapdata
你会注意到,如果你在没有登录到stubhub.com的情况下尝试访问这个url,它将不会工作。You will need to login first。
通过web浏览器登录后,在新选项卡中打开要抓取的URL,然后使用以下命令检索抓取的数据:
r = requests.get('https://sell.stubhub.com/sellapi/event/4236070/section/null/seatmapdata')但是,一旦浏览器会话在十分钟后过期,我就会得到这个错误:
<FormErrors>
<FormField>User Auth Check</FormField>
<ErrorMessage>
Either is not active or the session might have expired. Please login again.
</ErrorMessage>我认为我需要通过cookie实现会话ID,以保持我的身份验证有效。
Requests库文档对于从来没有做过这类事情的人来说是非常可怕的,所以我希望你们能提供帮助。
Requests提供的示例如下:
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
r = s.get("http://httpbin.org/cookies")
print r.text
# '{"cookies": {"sessioncookie": "123456789"}}'老实说,我对此一无所知。如何在POST请求之间保留cookies?
发布于 2013-04-04 02:15:02
我不知道stubhub的api是如何工作的,但通常它应该是这样的:
s = requests.Session()
data = {"login":"my_login", "password":"my_password"}
url = "http://example.net/login"
r = s.post(url, data=data)现在,您的会话包含登录表单提供的cookie。要访问此会话的cookie,只需使用
s.cookies任何进一步的操作,如其他请求,都将具有此cookie
https://stackoverflow.com/questions/15778466
复制相似问题