<a href="javascript:__doPostBack('AspNetPager1','3')" class="Pager" title="转到第3页" style="margin-right:5px;">[3]</a>
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
对于这种翻页方式,怎么用爬虫爬取呢?网站翻页后URL没有发生改变。我之前使用bs4和selenium模拟翻页操作再爬取,可是数据量太大,这种方法速度太慢。80%的时间都浪费在翻页上。
高洛峰2017-04-18 10:15:25
この問題は、Web サイトごとに個別に分析する必要があります。Web サイトごとに対応方法が異なります。
ここで、より一般的な状況でこのメソッドが使用できると仮定します。
ブラウザのデバッグモードをオンにする
次のページをクリックすると、対応するネットワーク リクエストの応答が表示されます。この応答は通常、次のページの URL です
リクエストのリクエストヘッダーとリクエストパラメータを表示し、分析してパターンを見つけます
Pythonを使用してHTTPリクエストをシミュレートし、バッチでURLを取得します
クロール情報、HTML 解析には LXML をお勧めします
HTTPリクエストをシミュレートする方法については、PythonでHTTPリクエストをシミュレートする方法を参照してください