当前位置:  开发笔记 > 编程语言 > 正文

用python生成的javascript生成的html

如何解决《用python生成的javascript生成的html》经验,为你挑选了2个好方法。

我需要用python抓一个站点.我获得与urlib模块的源HTML代码,但我需要也刮由一个JavaScript功能(这是包含在HTML源)中产生一些HTML代码.这个功能在网站中的作用是当你按下一个按钮时输出一些HTML代码.如何用python代码"按下"这个按钮?scrapy可以帮助我吗?我用firebug捕获了POST请求,但是当我尝试在url上传递它时,我收到403错误.有什么建议?



1> Paul D. Wait..:

在Python中,我认为Selenium 1.0是可行的方法.它是一个库,允许您从您选择的语言控制真正的Web浏览器.

您需要在运行脚本的计算机上安装有问题的Web浏览器,但它看起来是以编程方式查询使用大量JavaScript的网站的最可靠方式.



2> bholagabbar..:

由于这里没有全面的答案,我会继续写一个.

要刮掉JS渲染的页面,我们需要一个带有JavaScript引擎的浏览器(ei,支持JavaScript渲染)

Mechanize,url2lib这样的选项不起作用,因为它们支持JavaScript.

所以这就是你做的:

设置PhantomJS与Selenium一起运行.在为这两者安装依赖项之后(请参阅此),您可以使用以下代码作为示例来获取完全呈现的网站.

from selenium import webdriver

driver = webdriver.PhantomJS()
driver.get('http://jokes.cc.com/')
soupFromJokesCC = BeautifulSoup(driver.page_source) #page_source fetches page after rendering is complete
driver.save_screenshot('screen.png') # save a screenshot to disk

driver.quit()

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有