我正试图用python和beautiful soup创建一个web站点。我在一些网站上遇到过,图片链接虽然在浏览器上看到,但在源代码中是看不到的。但是在使用chromeinspect或Fiddler时,我们可以看到相应的代码。 我在源代码中看到的是:
<div id="cntnt"></div>
但是在Chrome Inspect上,我可以看到在这个div类中生成的一大堆HTML\CSS代码。有没有办法在python中加载生成的内容?我在python中使用的是常规的urllib,我能够获得源代码,但是没有生成的部分。
我不是一个web开发人员,因此我不能用更好的方式来表达这种行为。如果我的问题模糊不清,请随时澄清!
您需要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/
网站的内容可以在加载后通过javascript生成,以便通过python获取生成的脚本参见this answer
普通的scraper只获取HTML文档。要获取由JavaScript逻辑生成的任何内容,您更需要一个Headless browser,它还将生成DOM,像普通浏览器那样加载和运行脚本。维基百科的文章和网络上的其他一些页面都列出了这些内容及其功能。
在选择之前的主要产品时,请记住现在已经放弃了。
相关问题 更多 >
编程相关推荐