单击输入标记,而不是表单

时间:2012-06-27 14:02:05

标签: web-scraping mechanize mechanize-ruby mechanize-python

我正在使用mechanize抓几页。分页是通过javascript帖子实现的,分页链接实际上是input个按钮。这些不包含在表格中。知道如何触发点击这些吗?

我仍在使用该脚本,可以使用mechanize-rubymechanize-python。任何一种解决方案都有帮助。

按钮的html是:

<input name="px" value="1" class="pSel" disabled="true\" type="button">
<input name="px" value="2" class="page_select" onclick="apply_pagination(this);" type="button">
<input name="px" value="3" class="page_select" onclick="apply_pagination(this);" type="button">
...
<input name="px" value="10" class="page_select" onclick="apply_pagination(this);" type="button">

1 个答案:

答案 0 :(得分:1)

使用mechanize-ruby,您可以通过以下方式找到POST参数:

  1. 查看apply_pagination javascript方法并找出它回发给网络服务器的内容。

  2. 点击浏览器上的其中一个链接,使用[HTTPFox](https://addons.mozilla.org/en-us/firefox/addon/httpfox/)等方式监控POST请求。< / p>

  3. 通过它,您可以轻松地复制Web服务器对用户代理的期望并执行与此相近的操作;

    next_page = agent.post("http://example.com/", { "foo" => "bar" })