ホームページ >バックエンド開発 >Python チュートリアル >Python で動的 HTML コンテンツ値を抽出する方法

Python で動的 HTML コンテンツ値を抽出する方法

DDD
DDDオリジナル
2024-10-19 07:48:31373ブラウズ

How to Extract Dynamic HTML Content Values with Python?

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

Web サイトからデータを取得するとき、動的コンテンツに遭遇するのはよくあることです。リクエストなどの Python の標準ライブラリを使用すると、これらの値は実行時に読み込まれるため、アクセスできない場合があります。

動的コンテンツを処理するためのソリューション

へこの課題を克服するには、次の解決策を検討してください:

  • Ajax JSON を直接解析する: Web サイトが動的コンテンツをロードし、必要な値を抽出するために使用する JSON オブジェクトにアクセスします。
  • オフライン JavaScript インタープリターの使用: SpiderMonkey のようなインタープリターを使用して、JavaScript コードを実行し、Python アプリケーションで HTML をレンダリングします。
  • ブラウザー自動化ツール: Selenium や Watir などのツールを使用して、ブラウザのアクションをシミュレートし、レンダリングされた HTML にアクセスします。

値抽出のための Selenium

Selenium は、処理のための包括的なアプローチを提供します。動的なコンテンツ。使用方法は次のとおりです:

  1. Selenium をインストールして構成します: Selenium とその依存関係が Python 環境にインストールされていることを確認します。
  2. Web をインスタンス化します。 driver: webdriver クラスを使用して、Firefox や Chrome などの Web ドライバーを作成します。
  3. URL をロードします: get() メソッドを使用して、目的の Web サイトに移動します。
  4. HTML を抽出します: page_source プロパティを使用して、ページのレンダリングされた HTML を取得します。
  5. BeautifulSoup で解析します: BeautifulSoup を使用して HTML を解析し、必要な要素を抽出します。

Handlebars-Driven Site の例

Handlebars テンプレートを使用する Web サイトを考えてみましょう。 「中央値」値を抽出するには:

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

driver = webdriver.Firefox()
driver.get('http://eve-central.com/home/quicklook.html?typeid=34')

html = driver.page_source
soup = BeautifulSoup(html)

for tag in soup.find_all("div", class_="priceContainer"):
    print tag.text</code>

この例では、Selenium を使用してレンダリングされた HTML にアクセスし、BeautifulSoup で解析する方法を示します。

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

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