填写表格的python机械化

时间:2014-04-16 20:04:51

标签: python mechanize

我对使用机械化来填写以下网站的形式我无能为力,然后点击提交。

https://dxtra.markets.reuters.com/Dx/DxnHtm/Default.htm

  • 在左侧点击货币信息
  • 然后是值日期

这是我的财务类别,我们需要许多不同货币对的日期。我想进入并在“交易日期”中输入日期,然后选择我想要的“基数”和“报价”,然后点击提交并获取日期。下一页使用美丽的汤。

1)。这有可能使用机械化吗?

2)。我该如何解决这个问题>我已经阅读了网站上的文档并查看了Stackoverflow,但我似乎无法让它工作。我试图获取表格然后设置我想要的但我无法获得正确的表格。

任何帮助都会非常感激,我不会受到机械化的束缚,但只是不确定使用它的最佳模块。

这是我到目前为止所获得的,并且我获得了ZERO表单以附加值。

from mechanize import Browser
import urllib2

br = Browser()
baseURL = "https://dxtra.markets.reuters.com/Dx/DxnHtm/Default.htm"
br.open(baseURL)

for form in br.forms():
    print form

1 个答案:

答案 0 :(得分:2)

Mechanize无法在该页面上找到任何表单。它只解析了您在 baseURL 请求后收到的HTML回复。当您点击值日期时,它会发送另一个请求并收到另一个html进行解析。似乎您应该使用https://dxtra.markets.reuters.com/Dx/DxnOutbound/400201404162135222149001.htm作为 baseURL 值。 python mechanize也不支持ajax调用。对于更复杂的任务,您可以使用python-selenium。它是用于网页浏览的更强大的工具。