打开时保存的网页不显示任何内容

Posted

技术标签:

【中文标题】打开时保存的网页不显示任何内容【英文标题】:Saved web pages when opened shows nothing 【发布时间】:2016-07-06 08:14:11 【问题描述】:

我正在使用python 抓取网页并保存它。并且代码可以正常工作。但是当我打开网页时,它只显示网站名称,即 http://www.indiabix.com 而不是实际内容。

您可以只访问该网站并保存其中一个页面不是主页,而是其他页面,如 http://www.indiabix.com/database/questions-and-answers/。当你打开它时,页面只是显示这个

不是这个

我写的代码很简单

def writeToFile(link, name, title):
    response = urllib2.urlopen(link)
    webContent = response.read()
    f = open(name + '/' + title, 'w')
    f.write(webContent)
    f.close

你只需传递文件的链接、目录名和标题。

我检查了 Chrome、Firefox 和 Safari,都显示相同的输出。如何解决此问题以完全显示整个保存的页面。

谢谢。

【问题讨论】:

【参考方案1】:

你可以简化这样的事情。 Installrequests.

import os
import requests

def write_to_file(link, name, title):
    with open(os.path.join(name, title), "w") as fp: 
        fp.write(requests.get(link).content)

【讨论】:

我尝试运行代码,但它显示相同的输出。您是否尝试使用我在问题中提到的相同 url 运行代码? 是的。禁用浏览器中的 javascript 并打开它或尝试使用文本编辑器打开。 是的,禁用 javascript 并保存网页然后打开它就可以了。非常感谢你。但是我在保存你提供的脚本和我的脚本时丢失了所有的 CSS。那怎么办? 我们只使用我们的程序下载 html,它不会提取页面中包含的任何 JavaScript/Images/CSS 文件。您可以尝试使用一些报废框架,例如scrapy。您在这里的用例是什么? 我需要保存这些页面以供离线使用。我不是一直都上网【参考方案2】:

这是不可能的。您可以通过右键单击网页并保存完整的 Web 文件来进行实验。然后用你的浏览器打开.htm文件,你会得到同样的结果。当您检查页面时,您会看到一些错误(未找到文件)。所以我认为这个网页有一些错误。

【讨论】:

我在网页上右击并保存。我打开 .html 文件,它只显示网站名称。检查时可以看到错误,但是我应该如何保存网页以便在没有互联网时可以访问它们? 你应该检查.htm中的代码,如果有东西需要通过互联网获取,那是不可能的【参考方案3】:

禁用浏览器中的 Javascript 并打开它。

【讨论】:

以上是关于打开时保存的网页不显示任何内容的主要内容,如果未能解决你的问题,请参考以下文章

保存书籍的最后一页并在书籍打开时加载?

为啥网页上的GIF图显示不出来?

打开时不显示弹出框

引导模式打开时如何防止滚动正文内容

使用Chrome浏览器浏览网页时内容无法正常显示怎么办?

带有复选框 selModel 的 ExtJs Gridpanel 窗口,在第二次打开时不显示复选框