0

mechanize私は数ページをこすり取るために使用しています。ページ付けはjavascriptの投稿によって実装され、ページ付けのリンクは実際にはinputボタンです。これらはフォームに含まれていません。これらのクリックをトリガーする方法はありますか?

私はまだスクリプトに取り組んでおり、またはのいずれmechanize-rubyかを使用できますmechanize-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. JavaScript メソッドを見て、apply_paginationそれが 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 に答える