ホームページ  >  記事  >  バックエンド開発  >  Python の Selenium と BeautifulSoup を使用して動的 HTML コンテンツから値を抽出する方法

Python の Selenium と BeautifulSoup を使用して動的 HTML コンテンツから値を抽出する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-19 07:47:01979ブラウズ

How to Extract Values from Dynamic HTML Content Using Python's Selenium and BeautifulSoup?

Python を使用して動的 HTML コンテンツの値を取得する方法

この説明では、Python で動的 HTML コンテンツをスクレイピングするときに発生する一般的な問題、つまり代わりにテンプレート プレースホルダーが発生することについて説明します。実際の値の。具体的には、ハンドルバー テンプレートを使用する Web ページから「中央値」値を取得することを目的としています。

最初は、リクエスト ライブラリを単独で使用しても、JavaScript ベースのレンダリングを処理できないため、望ましい結果は得られません。ページ。これを克服するために、次の 3 つの主要な解決策を検討します。

  • Ajax JSON を直接解析する: これには、ページがブラウザに送信する JSON 応答をインターセプトして解析することが含まれます。
  • オフライン JavaScript インタプリタの使用: SpiderMonkey やクローバーなどのツールを利用してリクエストを処理し、完全にレンダリングされた HTML を生成します。
  • ブラウザ自動化ツールの使用: を活用します。 Selenium や Watir などのツールを使用してブラウザを自動化し、JavaScript の処理とページのレンダリングを可能にします。

この場合、Selenium と BeautifulSoup を組み合わせることをお勧めします。 Selenium を使用してレンダリングされた HTML を取得し、BeautifulSoup を使用してそれを解析することで、動的 HTML コンテンツに効果的にアクセスできます。以下はコード スニペットの例です:

<code class="python">from bs4 import BeautifulSoup
from selenium import webdriver

# Get rendered HTML using Selenium
driver = webdriver.Firefox()
driver.get('http://eve-central.com/home/quicklook.html?typeid=34')
html = driver.page_source

# Parse HTML using BeautifulSoup
soup = BeautifulSoup(html)

# Search for specific tags, e.g., those with a "formatPrice median" class
for tag in soup.find_all('formatPrice median'):
    median_value = tag.text</code>

このアプローチにより、実際のブラウザーと同じように Web ページに移動して操作することができ、動的に読み込まれる場合でも、必要なデータを取得できます。

以上がPython の Selenium と BeautifulSoup を使用して動的 HTML コンテンツから値を抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。