python - 如何爬取URL不变的网站内容
伊谢尔伦
伊谢尔伦 2017-04-18 10:13:25
0
2
1699
<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%的时间都浪费在翻页上。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(2)
小葫芦

この問題は、Web サイトごとに個別に分析する必要があります。Web サイトごとに対応方法が異なります。
ここで、より一般的な状況でこのメソッドが使用できると仮定します。

  1. ブラウザのデバッグモードをオンにする

  2. 次のページをクリックすると、対応するネットワーク リクエストの応答が表示されます。この応答は通常、次のページの URL です

  3. リクエストのリクエストヘッダーとリクエストパラメータを表示し、分析してパターンを見つけます

  4. Pythonを使用してHTTPリクエストをシミュレートし、バッチでURLを取得します

  5. クロール情報、HTML 解析には LXML をお勧めします

HTTPリクエストをシミュレートする方法については、PythonでHTTPリクエストをシミュレートする方法を参照してください

いいねを押す +0
Peter_Zhu

AJAX リクエストがある可能性があります。リクエストを直接取得してください

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート