我正在尝试使用StubHub API抓取一些销售数据。此处显示此数据的示例:
https://sell.stubhub.com/sellapi/event/4236070/section/null/seatmapdata
您会注意到,如果您尝试在不登录 stubhub.com 的情况下访问该 URL,它将无法正常工作。您需要先登录。
通过网络浏览器登录后,我会在新选项卡中打开要抓取的 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 请求之间保留 cookie?