2017-09-25 15 views
0

最初にいくつかのフィールドを入力してフォームを送信し、次に表示されるデータを読む必要があるウェブサイトからデータを自動的に読み込もうとしています。私はこれに慣れていませんが、明らかに動作しないコードを書いたので、結果はHTTP Error 500です。ここでは何が分かりませんか?またはこれを修正する方法は?Pythonを使用してPOSTリクエストを使用してウェブサイトのデータを自動的に読み取る

また、このコードをビルドする必要があるので、私はBS4を使ってもうれしく思います。

ウェブサイトhttp://www.mlindex.ml.com/GISPublic/bin/SnapShot.asp

入力を必要と:インデックスティッカー= H0A0、ベースCURR = LOC、日= 2017年9月22日

私はソースコードをチェックし、jsのフォームを使用して行ってきましたそれは、POSTリクエストを送信し、それに応じてコードやペイロードを作成しました:

import requests 

post_data = {'hdnDate':'1/1/2016', 'hdnAction':'SS', 'hdnSelCurr':'0,LOC', 'hdnCurrDesc':'USD', 'hdnSelTitle':'Hedged', 'txtSSCUSIP':'H0A0'} 

# POST some form-encoded data: 
post_response = requests.post(url='http://www.mlindex.ml.com/GISPublic/bin/Snapshot.asp', data=post_data) 
print post_response 

答えて

1

あなたはペイロードdから'cboSnapCurr': 0, 'cboSSHedge' : 1が欠落していますata。要求を処理するサーバーがこれらの値を期待しているためです。

post_data = { 'hdnDate': '2016年1月1日'、 'hdnAction': 'SS'、 'hdnSelCurr': '0、LOC'、 'hdnCurrDesc': 'USD'、 'hdnSelTitle' : 'ヘッジ'、 'txtSSCUSIP': 'H0A0'、 'cboSnapCurr':0、 'cboSSHedge':1}

+0

おかげで、これは私が "OK" を意味信じてHTTPレスポンス200を与えました。どのようにして実際のHTMLレスポンスを取得して、fromの出力テキストを読むことができますか? – dsauce

+0

@dsauce 'post_response.text' – Zroq

+0

もう一度ありがとう!数分で回答を受け入れることができるようになります。その間、私はちょうど私がちょうどHTML全体ではなく、解析されたテキストを得ることができるか教えていただけますか? – dsauce

関連する問題