我正在尝试自动从网站读取数据,首先我需要填写一些字段,提交表单然后读取显示的数据。我是新手,但我写了一个显然不起作用的代码,结果是HTTP Error 500.我在这里缺少什么?或者我该如何解决这个问题?
此外,我很高兴使用BS4这样做,因为我需要在此代码的基础上进行构建。
网站:http://www.mlindex.ml.com/GISPublic/bin/SnapShot.asp
需要输入:Index Ticker = H0A0,Base Curr = LOC,Date = 09/22/2017
我检查了源代码并浏览了提交POST请求的js表单,并相应地创建了代码和有效负载:
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
答案 0 :(得分:1)
您从有效负载数据中缺少'cboSnapCurr': 0, 'cboSSHedge' : 1
,因为处理请求的服务器期望这些值。
post_data = {'hdnDate':'1/1/2016','hdnAction':'SS','hdnSelCurr':'0,LOC','hdnCurrDesc':'USD','hdnSelTitle':'对冲','txtSSCUSIP':'H0A0','cboSnapCurr':0,'cboSSHedge':1}