当前位置: 首页 > 面试题库 >

如何在python中将JavaScript HTML渲染为HTML?

周博达
2023-03-14
问题内容

我环顾四周,只发现了将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()


 类似资料:
  • 问题内容: 对于我的django网站,我正在寻找一种将动态html页面转换为pdf的简单解决方案。 页面包含HTML和来自Google可视化API的图表(该图表基于javascript,但必须包含这些图表)。 问题答案: 尝试从Reportlab解决方案。 下载并像往常一样使用python setup.py install安装 你还需要安装以下模块:具有easy_install的xhtml2pdf

  • 问题内容: 我从JNI调用中获取了一个字节数组,并试图用它构造一个Bitmap对象。 我的问题是,以下代码返回空值。 有什么提示吗? PS:像素布局是BGR,而不是RGB。 问题答案: 该解码字节数组确实不适用于此格式。我从BGR手动更改为RGB。 然而, 可以引起: 08-29 14:34:23.460:错误/ AndroidRuntime(8638):java.lang.ArrayIndexO

  • 问题内容: 有没有一种方法可以将html渲染为PNG图片?我知道画布是可能的,但我想呈现例如div之类的标准html元素。 问题答案: 我知道这是一个很老的问题,已经有了很多答案,但是我仍然花了几个小时来尝试做自己想做的事情: 给定一个html文件,从命令行生成具有 透明 背景的(png)图像 使用无头的Chrome(此响应的版本为74.0.3729.157),实际上很容易: 命令说明: 您可以从

  • 问题内容: 有没有一种方法可以将模板呈现为变量而不是输出? 像这样的东西 问题答案: 在您的示例中,最简单的方法是将回调传递给: 但是,如果要渲染局部模板以便将其包含在另一个模板中,则绝对应该查看视图局部。

  • 问题内容: 我正在尝试使用和JSX 渲染具有重音符号的元素,但它没有返回我想要的东西。 我的JSX: 我呈现的JavaScript: 我在浏览器中的结果: 我已经在标签内的索引文件中进行了设置,如果直接在页面内容中键入该单词,则重音字符将在页面标题和正文中起作用,但是在由 我该如何解决这个问题? 问题答案: 您所看到的是由于UTF-8字节数组以ASCII呈现的结果,可能是代码页ISO 8859-1

  • 使用以下代码,我得到了这样的坏输出: %PDF-1.4%���� 4.0目标 而不是pdf。代码如下: 如何在浏览器中获取实际的pdf输出。

  • 问题内容: 我最近将笔记本电脑升级到Snow Leopard,将TeX升级到了3.1415926版本(TeX Live 2011 / MacPorts 2011_5),并安装了Python 2.7.3。完成所有这些安装后,我运行了macport selfupdate和macport升级过时的情况。但是,现在,当我尝试在matplotlib中使用TeX时,会收到以下信息: 类似于上一个问题,我尝试通

  • 我无法呈现一个selectOneMenu,但只能禁用该项目 例如,这是可行的: 而这个不是: 有什么建议吗 谢谢