前提・実現したいこと
Chromeで検索条件を入力してボタンを押すことで、条件に合致したデータが抽出されるページについて、
Pythonのsession(requests)を使ってスクレイピングしようとしています。
Chromeの処理をデベロッパーツールで確認したところ、必要な検索条件をform dataにまとめてPOSTしているようでした。
ただ、ページ上では「売上日」か「お振込日」をラジオボタンで選択する項目について、
デベロッパーツール上のform dataの値が
「ymdKbn: (unable to decode value)」
となっており、どのように送信しているのか分かりませんでした。
文字列をエンコードすればよいのかと考えて、いくつか試したのですが上手くいきませんでした。
どのように値を設定すればよいのかご教示いただけないでしょうか。
発生している問題・エラーメッセージ
POSTするform dataの日本語の値を上手く送信できないため、必要なデータが返ってこない。
該当のソースコード
HTMLのinputタグ(id="ymdKbn")のvalueが、下記form dataの'ymbKbn'の値に該当すると考えています
html
1<div class="box_form_tit"> 2 <input id="ymdKbn" name="ymdKbn" type="hidden" value="売上日"/> 3 <label class="radio"><input type="radio" name="radio" checked>売上日</label> 4 <label class="radio"><input type="radio" name="radio" >お振込日</label> 5</div>
python
1form_data = {'ymdKbn': '売上日', 2 'radio': 'on', 3 'yearFrom': 2019, 4 'monthFrom': 11, 5 'dayFrom': 1, 6 'yearTo': 2019, 7 'monthTo': 11, 8 'dayTo': 1} 9 10r = my_session.port(url, data = form_data)
試したこと
下記の表記を試みましたが、適切な方法ではないようで、検索結果が返ってきませんでした。
Python
1'ymdKbn': '売上日', 2'ymdKbn': ascii('売上日') 3'ymdKbn': '売上日'.encode('unicode-escape')
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/13 02:13