【问题标题】:How to submit a javascript-form using Python requests library?如何使用 Python 请求库提交 javascript 表单?
【发布时间】:2013-12-27 14:07:52
【问题描述】:

我想从名为 bitonic(.nl) 的比特币交易所获取一些报价。在他们的首页上,他们有一个小表格,您可以在上面填写比特币或欧元的金额。如果您填写比特币字段,则欧元字段会更新,如果您输入欧元金额,则比特币字段会更新(可能使用 javascript)。

我现在想使用 Python 请求库来填写表格并读出结果报价。我知道如何通过请求 (r = requests.get('http://bitconic.nl')) 请求页面,并且我知道您可以使用 requests.post() 做类似的事情。现在的问题是我不知道如何填写这个表格,并在使用javascript填写表格时读出结果。

有人知道我该怎么做吗?欢迎所有提示!

【问题讨论】:

  • 您可以简单地拦截通过浏览器完成的发布请求,为此您可以使用 Wireshark 之类的嗅探器或一些 firefox/chrome 扩展程序。
  • 使用 Firebug 之类的浏览器扩展程序查看在您更新其网站上的字段时发送的请求,然后尝试使用 Python 请求重新创建相同的请求。

标签: javascript python forms get python-requests


【解决方案1】:

我最初假设像这样的简单表单根本不会涉及任何 HTTP 请求,并且只能在(非 Ajax)Javascript 中完成。但是,它似乎确实发出了一个 HTTP 请求,因此您可以使用requests 来做同样的事情。

response = requests.post('https://bitonic.nl/json/', data={'part': 'rate_convert', 'check': 'euros', 'euros': 46})
print response.json()

【讨论】:

    【解决方案2】:

    您也可以从这里免费下载比特币报价:

    http://www.quandl.com/markets/bitcoin
    

    数据每天更新几个交易所和不同的货币,非常“下载”友好。如果您每天需要的请求少于 50 个,则无需注册。

    这里是关于如何获取数据的 API 描述:

    http://www.quandl.com/help/api
    

    在 csv 中获取比特币报价非常简单:

    http://www.quandl.com/api/v1/datasets/BITCOIN/BTCDEEUR.csv
    

    问候。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-01
      • 2012-04-08
      相关资源
      最近更新 更多