如何在python中将JavaScriptHTML渲染为HTML
How can I render JavaScript HTML to HTML in python?
我环顾四周,只找到了将URL呈现为HTML的解决方案。然而,我需要一种能够将网页(我已经有了,并且有JavaScript)呈现为正确的HTML的方法。
想要:网页(带JavaScript)--->HTML
不是:URL-->网页(带JavaScript)--->HTML
我不知道如何使其他代码按我想要的方式工作。
这是我用来呈现URL的代码:http://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/
为了清晰起见,上面的代码采用了一个网页的URL,该网页的某些部分由JavaScript呈现,因此,如果我正常使用urllib2抓取页面,那么我将无法获得所有在JavaScript之后呈现的链接等。
然而,我希望能够抓取一个页面,再次使用urllib2,然后呈现该页面并获得结果HTML。(与上面的代码不同,因为它以URL作为参数。
感谢大家的帮助:)
您可以从命令行pip install selenium
,然后运行类似的程序
from selenium import webdriver
from urllib2 import urlopen
url = 'http://www.google.com'
file_name = 'C:/Users/Desktop/test.txt'
conn = urlopen(url)
data = conn.read()
conn.close()
file = open(file_name,'wt')
file.write(data)
file.close()
browser = webdriver.Firefox()
browser.get('file:///'+file_name)
html = browser.page_source
browser.quit()
我使用的模块是request_html
。第一次使用时,它会自动下载chromium浏览器,然后您可以渲染任何网页(使用JavaScript)
requests_html
也支持html parsing
。
基本上是selenium
的替代方案
示例:
from requests_html import HTMLSession
session = HTMLSession()
r = session.get(URL)
r.html.render() # you can use r.html.render(sleep=1) if you want
尝试webdriver。Firefox().get('url')
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何设置html元素填充的动画
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何编写HTML输入的JS内联
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 使用javascript将动态表从一个html页面打印到另一个html页
- 通过javascript重定向html传递php变量
- 如何使Javascript动态html表及其上的事件
- 在chrome.tabs.onCreated之后加载HTML页面
- 如何在vs2002中调试html页面
- 如何使用javascript或html下载PDF格式的填写表单
- 视频HTML没有'无法在Internet Explorer 11上工作
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 使用angular重定向到html页面
- 分析高度属性时出现意外值{{specs.height}}.index.html
- 在html Select中添加搜索
- 多级HTML表单
- 如何在python中将JavaScriptHTML渲染为HTML