【问题标题】:Any Python Script to Save Websites Like Firefox?任何 Python 脚本可以保存像 Firefox 这样的网站?
【发布时间】:2009-06-24 09:34:49
【问题描述】:

当我想保存一些网站时,我厌倦了在 Firefox 中单击“文件”然后“另存为”。

是否有任何脚本可以在 Python 中执行此操作?我想保存图片和css文件,这样当我离线阅读时,它看起来很正常。

【问题讨论】:

    标签: python


    【解决方案1】:

    你可以使用 wget

    wget -m -k -E [网址]

    -E, --html-extension        save HTML documents with `.html' extension.
    -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.
    -k,  --convert-links      make links in downloaded HTML point to local files.
    

    【讨论】:

    • 谢谢,这是最有帮助的,但我发现“-p”标志是需要的。 "wget -k -p www.google.com"
    • 请注意 wget 无法转换 JavaScript 和 CSS 中的 URI。它甚至不会改变像 <script src="http://host.tld/js/jquery.js" type="text/javascript"/> 和 background:url(http://host.tld/images/image.png) 这样的东西。
    • 我不知道这是如何保存动态生成的 PHP 页面的,但确实如此。完整的 CSS 和图像。好东西,谢谢
    【解决方案2】:

    可能像wget 这样的工具更适合这种类型的事情。

    【讨论】:

      【解决方案3】:

      这是一个非 Python 答案,我不确定您的机器正在运行什么,但您是否考虑使用 site ripper,例如 wget?

      import os
      cmd = 'wget <parameters>'
      os.system(cmd)
      

      【讨论】:

      • 上述答案与您的答案相结合,是保存网页的绝佳组合,它甚至可以与动态 PHP 生成的页面一起使用。我在 Jupyter Notebook 中使用了它。我使用 Jupyter Notebook 进行所有编辑并上传到我的 VPS。我想要一个工具来保存 PHP 生成的页面,然后将其作为静态 HTML 上传。这工作正常。
      【解决方案4】:

      就像 Cobbal 所说,这在很大程度上是 wget 的设计目的。我相信您可以设置一些标志/参数以使其下载整个页面,CSS + all。我建议只是将其别名化为更方便键入的内容,或将其放入快速脚本中。

      【讨论】:

        【解决方案5】:

        你看过HTTrack吗?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-05
          • 2022-01-27
          • 2015-05-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多