私はGhostとBeautifulSoupを使ってHTMLページを解析しています。私が持っている問題は、このページの内容が動的であることです(angularJSで作成されています)。最初は、htmlは "please wait!page loading"のようなものしか表示しません。数秒後に、htmlの内容が表示されます。 GhostとBeatifulSoupの使用私はちょうど2つの小さいdivsを持っているローディングページのHTMLコードを得ます。 URLは同じです。 「本当の」コンテンツが読み込まれるまで待つ可能性はありますか?Pythonを使用して動的ページを解析するにはどうすればよいですか?
-1
A
答えて
1
を参照してください:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.PhantomJS()
driver.get("your url here")
# waiting for the page to load - TODO: change
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.ID, "content")))
data = driver.page_source
driver.close()
soup = BeautifulSoup(data, "html.parser")
2
phantomjsを使用してページを開きます。 phantomjsファイルシステムモジュールAPIを使用してローカルファイルとして保存します。 後でこのローカルファイルハンドルを使用してBeautifulSoupオブジェクトを作成し、ページを解析します。 .page_source
を取得し、BeautifulSoup
に渡し、表示されるように所望のコンテンツのためselenium
によって自動化された実際のブラウザ(PhantomJS
のようなヘッドレスでもオプションです)、waitでページをロードしhttp://www.kochi-coders.com/2014/05/06/scraping-a-javascript-enabled-web-page-using-beautiful-soup-and-phantomjs/
関連する問題
- 1. Webページから動的コンテンツを解析するにはどうすればよいですか?
- 2. Pythonを使用してJavascript変数を解析するにはどうすればよいですか?
- 3. Iron Routerを使用して動的ページをメテオにルーティングするにはどうすればよいですか?
- 4. Railsを使用して動的XMLページを生成するにはどうすればよいですか?
- 5. HTML5のアプリケーションキャッシュ(appcache)を使用して動的ページをキャッシュするにはどうすればよいですか?
- 6. Spring SPELを使用して動的プロパティ名を解決するにはどうすればよいですか?
- 7. Jsonを使用してサーバーからデータを解析するにはどうすればよいですか?
- 8. DOMを使用してCSVファイルを正しく解析するにはどうすればよいですか?
- 9. PythonでGeoJSONを解析するにはどうすればいいですか
- 10. AndroidでSAX Parserを使用してxmlを解析するにはどうすればよいですか?
- 11. BASHでAWKとfprintを使用してテキストファイルを解析するにはどうすればよいですか?
- 12. browserHistoryを使用してURLパラメータで#ハッシュを解析するにはどうすればよいですか?
- 13. Pythonとlxmlを使ってローカルHTMLファイルを解析するにはどうすればよいですか?
- 14. Nokogiriを使用してこのHTMLを解析するにはどうすればよいですか?
- 15. Javaを使用して大きなXMLファイルを解析するにはどうすればよいですか?
- 16. C#を使用してテキストファイルを解析するにはどうすればよいですか?
- 17. NSStringを使用してこの文字列を解析するにはどうすればよいですか?
- 18. WordPressのXMLフィードをJQueryを使用して解析するにはどうすればよいですか?
- 19. Crypto ++を使用してZIPファイルを解析するにはどうすればよいですか?
- 20. htmlを使用してhtmlの断片を解析するにはどうすればよいですか?
- 21. インバウンド解析を使用してOOO(不在)メールをキャプチャするにはどうすればよいですか?
- 22. getopt_longを使用して複数の引数を解析するにはどうすればよいですか?
- 23. Django admin - save_related()を使用してインラインフォームのデータを解析するにはどうすればよいですか?
- 24. MailKitを使用してhtmlメッセージ本文を解析するにはどうすればよいですか?
- 25. getJSONを使用してJSONを解析するにはどうすればよいですか。
- 26. jqを使用して複数の一致を解析するにはどうすればよいですか?
- 27. NLTKを使用して解析ツリーを生成するにはどうすればよいですか?
- 28. Perlを使用してTwitter XMLを解析するにはどうすればよいですか?
- 29. Volleyを使用してJSONリクエストを解析するにはどうすればよいですか?
- 30. DOMを使用して複雑なXMLファイルを解析するにはどうすればよいですか?