ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して JavaScript で動的 Web ページをスクレイピングする方法

Python を使用して JavaScript で動的 Web ページをスクレイピングする方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-26 18:07:09408ブラウズ

How to Scrape Dynamic Web Pages with JavaScript using Python?

Python で動的ページ (JavaScript) をスクレイピングする方法

Web スクレイピングを扱う場合、静的 HTML ページは比較的簡単に処理できます。ただし、ターゲット ページのコンテンツが JavaScript によって動的に生成される場合に問題が発生します。

Python では、ページ コンテンツに urllib2.urlopen(request) を使用すると、HTML に表示されている内容のみが読み取られ、JavaScript が含まれない場合があります。 -生成された要素。この動的コンテンツにアクセスするには、Python コード内でブラウザ環境をシミュレートする必要があります。

PhantomJS での Selenium の使用

Selenium は、Web ブラウザとの対話を可能にする Python ライブラリです。 。 PhantomJS は、グラフィカル ユーザー インターフェイスなしで実行されるヘッドレス ブラウザーです。これらを組み合わせることで、動的コンテンツをスクレイピングするための適切な方法が提供されます。

import requests
from selenium import webdriver

# Ensure PhantomJS is installed and in the current path
print(webdriver.PhantomJS().version)  # Print version for confirmation

url = 'my_url'

# Create a PhantomJS webdriver
driver = webdriver.PhantomJS()
driver.get(url)

# Retrieve the element with id "intro-text"
p_element = driver.find_element_by_id('intro-text')

# Print the text content of the element
print(p_element.text)

Dryscape の使用

Dryscape は、ヘッドレス JavaScript スクレイピング用に特別に設計されたもう 1 つの Python ライブラリです。

import dryscrape
from bs4 import BeautifulSoup

url = 'my_url'

# Create a Dryscrape session
session = dryscrape.Session()
session.visit(url)

# Get the page body
response = session.body()
soup = BeautifulSoup(response)

# Find the element with id "intro-text"
soup.find(id='intro-text')

以上がPython を使用して JavaScript で動的 Web ページをスクレイピングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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