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

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

Linda Hamilton
リリース: 2024-10-19 07:47:01
オリジナル
1083 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート