python mechanize 填写表格

标签 python mechanize

我不知道如何使用 mechanize 填写以下网站的表格,然后单击提交。

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

  • 点击左侧的货币信息
  • 然后是起息日

这是我的金融类(class),我们需要许多不同货币对的日期。我想进入并在“交易日期”中输入日期,然后选择我想要的“基础”和“报价”,然后单击提交并获取天数。使用美丽的汤关闭下一页。

1).使用 Mechanize 可以实现这一点吗?

2).我该怎么做> 我已经阅读了网站上的文档并浏览了 Stackoverflow,但我似乎根本无法让它工作。我试图获取表单,然后设置我想要的内容,但我无法获取正确的表单。

任何帮助将不胜感激,我不受 Mechanize 的束缚,但只是不确定使用它的最佳模块是什么。

这是我到目前为止所拥有的,我得到了零个表单来附加值。

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

最佳答案

Mechanize 在该页面上找不到任何表单。它仅解析您在使用 baseURL 发出请求后收到的 html 响应。当您点击起息日时,它会发送另一个请求并收到另一个用于解析的 html。看来你应该使用 https://dxtra.markets.reuters.com/Dx/DxnOutbound/400201404162135222149001.htm作为 baseURL 值。另外 python mechanize 不支持 ajax 调用。对于更复杂的任务,您可以使用 python-selenium 。它是更强大的网络浏览工具。

关于python mechanize 填写表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23119081/

相关文章:

python - 在python中搜索单个字符串中的字符串

ruby - 我如何捕获 cookie,然后将其传递给 Ruby/Mechanize(登录的解决方法)?

python - 如何设置python IDLE的默认python?

python - 如果作为 Python 子进程调用,多线程 Perl 脚本会导致管道损坏

python - 如何在python中同时监听命名管道和套接字

ruby - Mechanize 和隐形搜索表单

Ruby Mechanize gem 未遵循元刷新

ruby - 使用 ruby​​ mechanize 浏览结果页面(链接定义为 "onclick=")

Python 多线程丢失作业

python - PySpark 2.x : Programmatically adding Maven JAR Coordinates to Spark