私はちょうどPythonに慣れており、主にBeautifulSoupを使ってウェブからスポーツデータをスクラップしています。私はJavaScriptが生成するPGAのウェブサイト上のテーブルを使って問題にぶつかりました。私が働いている特定のウェブサイトのコンテキストで誰かが私を歩いてくれることを期待していました。ここにサンプルリンク "http://www.pgatour.com/content/pgatour/players/player.29745.tyler-aldridge.html/statistics"があり、テーブルはすべてのプレーヤ統計テーブルです。ありがとう!PGAウェブサイトのJavaScriptテーブルからのPythonスクラップ
答えて
ウェブページがJavaScriptを使用してコンテンツを構築したり取得したりすると、ウェブからHTMLをダウンロードするだけのツールが不足しています。より完全にウェブブラウザを模倣し、JavaScriptを解釈するものが必要です。換言すれば、いわゆるヘッドレスブラウザである。そこにはいくつかのものがありますが、Pythonとの統合が良いものもあります。あなたはPhantomJS
またはSelenium
を検索して旅を始めることができます。あなたが選んだツールを選択したら、ブラウザが静的ページのBeautifulSoup
と同じようにDOMをブラウズし、ブラウズしてDOMをブラウズできるようにすることができます。
しかし、私はブラウザのデバッガの[ネットワーク]タブを最初に見ていきます。場合によっては、実際にサーバーからテーブルデータを取得しているGET
を特定することができます。この場合は、複雑な技術を採用するよりも、自分でデータをrequests
などで簡単にGET
する方が簡単な場合があります。また、あなたが必要とする情報を普通のJSON
で入手すると、それはさらに簡単に使用できるようになります。 PGAサイトでは、GET
に何百ものリソースを構築していますが、それらをブラウズするにはまだまだ良い取引になります。
これは興味深いものですが、私は他のサイトで簡単に調べてみましたが、何の牽引力も得られませんでした。それは、このインスタンスに行く方法かもしれないようですが、ちょうど周りを掘ると私はそれを把握することができるかどうかを確認する必要があります。 –
JSONフィードを把握し終えました。再度、感謝します! –
ページ内でJavaScriptコードを解析して実行するには、JavaScriptエンジンが必要です。あなた
http://code.google.com/p/spynner/
http://github.com/ryanpetrello/python-zombie
http://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/
助けることができるヘッドレスブラウザの束があります。また、これを使用することを検討してください:
http://www.seleniumhq.org/docs/03_webdriver.jsp
セレン-webdriverを自動化のために、各ブラウザのネイティブサポートを使用してブラウザへの直接呼び出しを行います。これらのダイレクトコールがどのように行われ、サポートされる機能は使用しているブラウザによって異なります。各「ブラウザドライバ」に関する情報は、この章の後半で説明します。
Selenium-RCに精通している人にとって、これはあなたが慣れ親しんだものとはかなり異なっています。 Selenium-RCはサポートされているブラウザごとに同じ方法で動作しました。ブラウザがロードされたときにブラウザにjavascript関数が挿入され、javascriptを使用してブラウザ内でAUTが実行されました。 WebDriverはこの手法を使用しません。再び、ブラウザの内蔵オートメーションサポートを使用してブラウザを直接駆動します。
- 1. スクラップテーブルの値がJavascriptからPythonに生成
- 2. ウェブサイトからのデータをスクラップして、JavaScriptで出力する
- 3. Python Scrapy:ウェブサイトにログインしてからスクラップします
- 4. javascriptコマンドでウェブサイトをスクラップする(Jsoup)
- 5. Pythonを使用してUdacityウェブサイトをスクラップ?
- 6. BeautifulSoup - ページから複数のテーブルをスクラップ?
- 7. スクラップのPython 3.4とBeautifulSoupとの記事では、私がウェブサイトをスクラップしたい
- 8. ブラウザを開かずにウェブサイトのデータをスクラップする(python)
- 9. Pythonで美しいスープを使ったWebスクラップ - JavaScriptテーブル
- 10. Word VBAのウェブサイトのスクラップ
- 11. ウェブサイトの英語版のスクラップ
- 12. 全体のウェブサイトをスクラップ
- 13. ウェブサイトをスクラップする
- 14. ウェブサイトからウェブページをスクラップするためのスクラピーの再利用
- 15. Rをウェブサイトからプログラミングする場合の列のスクラップ方法?
- 16. javascriptの動的ウェブサイトをスクラップする方法
- 17. JavaScriptを使用したウェブサイトのスクラップに関するアドバイス
- 18. リバースエンジニアリングサードパーティのウェブサイトからのJavaScript
- 19. ウェブサイトからすべてのデータをスクラップする方法は?
- 20. ウェブサイトから複数のページをスクラップする方法は?
- 21. Pythonでtwitterログインが必要なウェブサイトのスクラップ
- 22. Python /リクエスト:ウェブサイトへのログインJavascript
- 23. ウェブサイトから直接スクラップしたデータをPostgreSQLにインポート
- 24. httpsウェブサイトからデータをスクラップする方法
- 25. IMPORTXMLを使用してウェブサイトからデータをスクラップする
- 26. ウェブサイトから画像をスクラップする方法は?
- 27. フラッシュベースのウェブサイトをスクラップする方法は?
- 28. Python:特定のコンテンツのテーブルをスクラップする
- 29. Rのjavascriptテーブルをスクラップする方法は?
- 30. 日付と文字列によるテーブルからのWebスクラップR
ヘッドレスブラウザの代わりに 'selenium'を使用することができます(javascriptを実行してからHTMLを解析することができます)、またはJavaScriptが使用しているAPIを試すことができます。 –