<p>
<p>
Python を使用した動的コンテンツのスラップ
<p>静的 HTML からプレーン テキストを取得するのは簡単ですが、動的コンテンツの場合は別の話になります。 JavaScript には、urllib2 などの Python の HTTP リクエスト ライブラリにすぐにアクセスできないコンテンツが埋め込まれます。
<p>
動的コンテンツへのアクセス
<p>動的コンテンツにアクセスするために、Python は Web をシミュレートする外部ツールを利用できます。ブラウザ。これらのツールは JavaScript を実行し、レンダリングされたページ コンテンツを返します。
<p>
1. Selenium と PhantomJS:
- PhantomJS (ヘッドレス ブラウザ) をインストールし、パスにあることを確認します。
- Selenium の Python ライブラリを使用して、PhantomJS を Web ドライバーとしてインスタンス化します。
- 対象のページに移動し、次の要素を見つけます。興味があります。
<p>
2. dryscape (Python 2 のみ):
- pip を使用して dryscrape をインストールします。
- dryscrape セッションを開き、ターゲット ページにアクセスします。
- レンダリングされたページを取得しますとしてのコンテンツstring.
<p>
例
<p>動的 JavaScript を使用したサンプル HTML ページを考えてみましょう:
<p>
<p>
JS なしサポート:
import requests
from bs4 import BeautifulSoup
response = requests.get(my_url)
soup = BeautifulSoup(response.text)
print(soup.find(id="intro-text"))
<p>
出力:
<p>
<p>
JS サポートあり(セレン):
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get(my_url)
print(driver.find_element_by_id("intro-text").text)
<p>
出力:
Yay! Supports javascript
以上がPython はどのようにして動的 Web サイトのコンテンツをスクレイピングできるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。