<p>
Python で JavaScript によって生成された動的コンテンツをスクレイピング
<p>Web ページをスクレイピングする場合、JavaScript によって生成された動的コンテンツの存在が課題となる可能性があります。このコンテンツはページのソース コードから隠されていることが多く、静的 HTML 解析に依存する従来の方法では障害となります。
<p>この制限を克服するには、次のようないくつかのアプローチを使用できます。
-
<p>セレンとPhantomJS:
- PhantomJS をインストールし、そのバイナリをパスに追加します。
- Selenium Python ライブラリを使用して、Web ページを実行して動的データをキャプチャするヘッドレス ブラウザである PhantomJS を制御します。 content.
- ID または他の CSS セレクターで要素を検索し、そのテキストなどを抽出します。属性。
-
<p>dryscrape:
- dryscrape Python ライブラリをインストールします。
- dryscrape セッションを作成しますそしてターゲットを訪ねるURL。
- 文字列としてページの本文にアクセスし、BeautifulSoup を使用して解析します。
- 解析された HTML ドキュメントに基づいてコンテンツを抽出します。
<p>
例:
<p>次の HTML を含む Web ページ:
<p>
JavaScript サポートなし:
import requests
from bs4 import BeautifulSoup
response = requests.get(my_url)
soup = BeautifulSoup(response.text)
soup.find(id="intro-text")
# Output: <p>
ログイン後にコピー
<p>
JavaScript サポートあり (Selenium):
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get(my_url)
p_element = driver.find_element_by_id(id_='intro-text')
print(p_element.text)
# Output: Yay! Supports javascript
ログイン後にコピー
<p>
JavaScript サポートあり(dryscrape):
import dryscrape
from bs4 import BeautifulSoup
session = dryscrape.Session()
session.visit(my_url)
response = session.body()
soup = BeautifulSoup(response)
soup.find(id="intro-text")
# Output: <p>
ログイン後にコピー
<p>これらのテクニックを利用すると、JavaScript によって生成された動的コンテンツを効果的にスクレイピングし、Web ページで入手可能な完全な情報にアクセスできます。
以上がPython を使用して JavaScript によって生成された動的 Web コンテンツをスクレイピングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。