ホームページ  >  に質問  >  本文

python - 如何爬取URL不变的网站内容

<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%的时间都浪费在翻页上。

伊谢尔伦伊谢尔伦2740日前1583

全員に返信(2)返信します

  • 高洛峰

    高洛峰2017-04-18 10:15:25

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

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

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

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

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

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

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

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:15:25

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

    返事
    0
  • キャンセル返事