前提・実現したいこと
Python × Beautifulsoupを使用して下記のサイトにログインし受注情報を取得したいのですが、ログインすることができません。
ターゲットサイト
https://www.tradesy.com/
以下のコードを実行しログインできるか試行しましたができませんでした。
該当のソースコード
Python
1import requests 2import lxml 3from bs4 import BeautifulSoup 4 5headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'} 6 7session = requests.Session() 8 9# Top page url 10url_top = "https://www.tradesy.com" 11 12r = session.post(url_top, headers=headers) 13soup = BeautifulSoup(r.text) 14r.raise_for_status() 15 16auth_token = soup.find('input', {'name':'tradesy_synchronizer'}).get('value') 17 18# login info 19login_info = { 20 "login_modal_email":"Email-Adress", 21 "login_password":"Password", 22 "tradesy_synchronizer":"auth_token" 23} 24 25url_login= "https://www.tradesy.com/login/" 26 27res = session.post(url_login, data=login_info) 28res.raise_for_status() 29
試したこと
1,POSTしている内容が間違っているのかと思い、Chromeデベロッパーツールを使用し「ネットワーク→ドキュメント」タブから、POSTされている内容を確認
結果:何も表示されませんでした。
2,Email,passwordへ適当な値を入力しログインを実行
結果:以下の内容をPOSTしていることを確認しコードを修正しました。
ajax-login email: aaa password: aaa tradesy_synchronizer: 8af0348fcfc416a4ed12157012118dd33210c
3,「ネットワーク→全て」のタブで「Login」ボタンを押したときの挙動を確認
結果:「ajax-login」という名前のタスク(?)が出てくることを確認しWebで色々検索しましたが、解決方法分かりませんでした。
補足情報(FW/ツールのバージョンなど)
mac(m1)
Python 3.9
Google Chrome (最新バージョン)
終わりに
上記の方法でログインできなければ、最終手段としてSeleniumを検討しておりますが、なるべくBeautifulsoup で完結したいと考えております。
どなたかご教示いただければと思います。
あなたの回答
tips
プレビュー