ホームページ >ウェブフロントエンド >jsチュートリアル >Python を使用して動的 JavaScript コンテンツをスクレイピングするにはどうすればよいですか?
はじめに
JavaScript によって生成された動的コンテンツのスクレイピングは、次のような問題を引き起こす可能性があります。非同期の性質。このコンテンツは、従来の HTTP リクエストで取得された HTML ソースには表示されません。
ソリューション
JavaScript で生成されたコンテンツにアクセスするには、内部で JavaScript を実行できるソリューションが必要です。私たちのPythonコード。推奨される 2 つのアプローチを次に示します。
1. Selenium と PhantomJS
Selenium は、Web ブラウザーの制御を可能にする Python ライブラリです。ヘッドレス ブラウザである PhantomJS を使用すると、JavaScript コードを実行し、レンダリングされたコンテンツを取得できます。
例:
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)
2. Dryscrape
Dryscrape は、JavaScript 駆動の Web サイトをスクレイピングするために設計された Python ライブラリです。 JavaScript を実行して DOM を取得できるヘッドレス ブラウザを提供します。
例:
import dryscrape from bs4 import BeautifulSoup session = dryscrape.Session() session.visit(my_url) response = session.body() soup = BeautifulSoup(response) soup.find(id="intro-text")
これらのソリューションを使用すると、JavaScript によって生成された動的コンテンツにアクセスでき、 Web スクレイピング タスクを続行します。
以上がPython を使用して動的 JavaScript コンテンツをスクレイピングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。