StubHub APIを使用して販売データをスクレイピングしようとしています。ここに表示されるこのデータの例:
https://sell.stubhub.com/sellapi/event/4236070/section/null/seatmapdata
stubhub.com にログインせずにその URL にアクセスしようとすると、機能しないことに気付くでしょう。最初にログインする必要があります。
Web ブラウザーからサインインしたら、スクレイピングしたい URL を新しいタブで開き、次のコマンドを使用してスクレイピングされたデータを取得します。
r = requests.get('https://sell.stubhub.com/sellapi/event/4236070/section/null/seatmapdata')
ただし、ブラウザー セッションが 10 分後に期限切れになると、次のエラーが発生します。
<FormErrors>
<FormField>User Auth Check</FormField>
<ErrorMessage>
Either is not active or the session might have expired. Please login again.
</ErrorMessage>
認証を維持するには、Cookie を介してセッション ID を実装する必要があると思います。
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 を保持するにはどうすればよいですか?