検索

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

Web クローリング中に HTML 要素を見つけることはできません。この要素はサイト検査ツールに表示されます

この URL からすべてのテーブルのタイトルをクロールしようとしています: https://www.nature.com/articles/s41586-023-06192-4

この HTML 要素は Web サイトで見つかります:

リーリー

このタイトルは見つからないため、クロールできません。 HTML スクリプトをコンソールに出力しても、この要素が見つかりません。

次のコードを使用して HTML スクリプトを出力します:

リーリー

BeautifulSoup のクロール機能を使用します:

リーリー

Selenium のクローリング機能を使用します:

リーリー

Selenium と BeautifulSoup を使用して Web サイトをクロールしようとしています。 iframeを確認してみました。 ページが完全にロードされることを確認するために、フェッチ操作を 40 秒遅らせました。 GPT4でもこの問題は解決できません。

P粉225961749P粉225961749439日前588

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

  • P粉920485285

    P粉9204852852023-09-20 10:49:02

    つまり、使用したコードは問題ないようですが、思い浮かぶ問題は、Web サイトが JavaScript または XHR 呼び出しを介してクロールしたい要素を読み込んでいる可能性があるため、リクエスト ライブラリを使用してリクエストを送信すると、その要素を取得できません。

    この問題を解決する方法は、Selenium を使用し、Selenium で Web サイトを開き、ページのソース コードを bs4 にロードして、コードが正常に動作するようにすることです。

    注: Web サイト全体がロードされたら、ページのソース コードを bs4 にロードします。この Web サイトのコンテンツを表示するにはログインが必要であるため、Selenium を使用してログイン関数を作成する必要もあります。

    返事
    0
  • キャンセル返事