こんにちはログインが必要なウェブサイトから情報を取得しようとしています。Pythonでリクエストを使用してCookieを設定するにはどうすればよいですか?
私はすでにID、パスワード、リクエストをPOSTする必要があるreqeustURLで200応答を取得しています。
ヘッダーには、クロム開発者ネットワークのタップで見ることができるrequests_headersがあります。フォームデータ辞書はIDとパスワードを持っています。
login_site = requests.post(requestUrl, headers=headers, data=form_data)
status_code = login_site.status_code print(status_code)
私は以下のコードは、私が試した方法である200
を得ました。
1.セッション。
セッションでCookieを設定しようとすると、失敗しました。私はログインが必要な他のページを擦ってセッションがクッキーを設定できると聞いたことがあります。
は、私は403session = requests.Session() session.post(requestUrl, headers=headers, data=form_data) test = session.get('~~') #the website that I want to scrape print(test.status_code)
2.私は手動で私が取得することができますクッキーの辞書を作っ
手動で設定されたCookieを得た
cookies = {'wcs_bt':'...','_production_session_id':'...'} r = requests.post('http://engoo.co.kr/dashboard', cookies = cookies) print(r.status_code)
私も持っています403
実際には、私はクッキーdictに何を書き込むべきか分かりません。私が得るとき、'wcs_bt = AAA; _production_session_id = BBB; _ga = CCC; '、私はdict {'wcs_bt': 'AAA' ..}に変更する必要がありますか?私はこのコードで
login_site = requests.post(requestUrl, headers=headers, data=form_data) print(login_site.cookies)
クッキーを取得すると は、私だけ RequestsCookieJar [クッキー_production_session_id = BBB]どういうわけか
を得ることができ、私もそれに失敗しました。
どのように私はクッキーでそれを擦ることができますか?
ログイン後、実際にはCookieの設定を担当する別のページにリダイレクトされる可能性があり、そのスクリプトは決してそのページに当たらない可能性があります。あなたのユーザエージェントがPython/Requestsに設定されているため、彼らがあなたをブロックしている可能性もあります。あなたがスクレイプしようとしているサイトについての詳しい情報がなくても、それ以上の情報を与えることは不可能ですが、記録のためには必ずリクエストを使用してください。 –
ご意見ありがとうございます。クッキーの設定を担当する実際のページを知るにはどうすればいいですか?私が掻きたいウェブサイトは「https://engoo.co.kr/」でした。 – dizwe