24

Python と美しいスープを使用して Web サイトをスクレイピングしようとしています。一部のサイトで、ブラウザでは画像リンクが表示されているのに、ソース コードでは表示されない場合がありました。ただし、Chrome Inspect または Fiddler を使用すると、対応するコードを確認できます。ソースコードに表示されるのは次のとおりです。

<div id="cntnt"></div>

しかし、Chrome Inspect では、この div クラス内で大量の HTML\CSS コードが生成されていることがわかります。生成されたコンテンツを Python 内でもロードする方法はありますか? Python で通常の urllib を使用していますが、ソースを取得できますが、生成された部分はありません。

私は Web 開発者ではないため、動作をより適切に表現することはできません。私の質問が漠然としていると思われる場合は、お気軽に明確にしてください!

4

4 に答える 4

17

ページ内の JavaScript コードを解析して実行するには、JavaScript エンジンが必要です。あなたを助けることができるヘッドレスブラウザがたくさんあります

http://code.google.com/p/spynner/

http://phantomjs.org/

http://zombie.labnotes.org/

http://github.com/ryanpetrello/python-zombie

http://jeanphix.me/Ghost.py/

http://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/

于 2012-12-19T20:56:13.333 に答える
6

Web サイトのコンテンツは、ロード後に JavaScript 経由で生成される場合があります。生成されたスクリプトを Python 経由で取得するには、この回答を参照してください。

于 2012-12-19T20:33:13.703 に答える