【问题标题】: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,都显示相同的输出。如何解决此问题以完全显示整个保存的页面。

谢谢。

【问题讨论】:

    标签: python html save web-crawler


    【解决方案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 并打开它。

    【讨论】:

      猜你喜欢
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 2020-07-01
      • 2021-07-13
      • 2020-12-10
      • 2013-11-15
      • 1970-01-01
      • 2022-11-16
      相关资源
      最近更新 更多