0

mechanize用来刮几页。分页是通过 javascript post 实现的,分页链接实际上是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">
4

1 回答 1

1

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

  1. 查看apply_paginationjavascript 方法并找出它发回 Web 服务器的内容。

  2. 单击浏览器上的其中一个链接并使用 [HTTPFox] (https://addons.mozilla.org/en-us/firefox/addon/httpfox/) 之类的内容监视 POST 请求。

有了它,您可以轻松地复制 Web 服务器对用户代理的期望并做一些接近于此的事情;

next_page = agent.post("http://example.com/", { "foo" => "bar" })
于 2012-07-17T16:17:39.270 回答