2012-01-17 10 views
1

私は、以前はMechanizeとBeautifulSoupを使って下の表からデータを取り出したPythonスクリプトを持っていました。しかし、このサイトは最近、テーブルのエンコーディングをjavascriptに変更しました。テーブルに複数のページがあるため、私はそれを扱う際に問題があります。複数ページのJavaScriptテーブルのPython BeautifulSoup

http://www.fangraphs.com/leaders.aspx?pos=all&stats=bat&lg=all&qual=0&type=8&season=2011&month=0&season1=&ind=0&team=25&players=0

は、例えば、上記のリンクに、どのようにテーブルの両方のページ1とページ2のデータを取得できますか? FWIW、URLは変更されません。

答えて

4

あなたの最善の策は、すべて理解し、ヘッドレスブラウザなどphantomjsを実行することです順番にあなたのコードの基礎となるアクションをテスト特定の操作を実行するためにブラウザを自動化funcitonalテストフレームワークでありますJavaScript、DOMなどの複雑さですが、JavaScriptを使用してコードを書く必要があります。あなたが望むことを何でもできます.PhotoSoupを使用してHTMLを解析するのはしばらく時間がかかりますが、長期的には頭痛です。あなたがDOMにアクセスできるときに、なぜこすりつけるのですか

0

機械化はjavascriptを処理しません。

ボタンをクリックすると(FirefoxのFirebugまたはChromeの開発者ツールを使用して)どのようなリクエストが行われたかを確認できます。ページの背後にあるjavascriptをリバースエンジニアリングし、Pythonコードを使って同様のことをしようとするよりも、Spidermonkeyまたは

Seleniumを試してみてください。

セレンは

+0

ありがとう:)私はそれをチェックアウトします –

関連する問題