2

我正在寻找一个带有网站 URL 的 python 脚本,它可以将带有 css 链接的完整 HTML 源代码也下载到我正在运行我的 python 脚本的本地计算机中。

任何人都可以帮助我吗?

4

2 回答 2

1

是的,这很容易。您可以使用PyCurl(用于 curl 的 python 绑定)

但是(很可能)您将得到的是经过处理的 html+javascript。(即客户端浏览器读取的内容)。

至于 javascript,大多数生产/商业网站都使用 javascript 框架,这些框架试图优化代码,从而使人类无法阅读。HTML 也是如此,许多框架允许为 html(可扩展模板)创建分层架构,因此您将得到每页一个 html,它(很可能)由框架使用许多(模板)文件生成。Css 比其他 2 简单一点;)。

于 2012-12-13T06:42:53.267 回答
0

我同意 0xc0de 和乔迪的观点。PyCurl 和 HTTrack 可以做你想做的事。如果您使用的是 'Nix OS,您还可以使用wget.

是的,这是可能的。事实上,我已经写完了你几天前描述的脚本。;) 我不会在这里发布脚本,但我会根据我所做的工作给你一些提示。

  1. 下载网页。您可以为此使用urllib2.urlopen(Python 2.x) 或 urllib.request.urlopen(Python 3)。
  2. 然后在下载页面后,解析下载页面的源代码(好吧,您也可以在线解析源代码,但这意味着再次调用
    urllib2.urlopen/ urllib.request.urlopen)并获取您需要的所有链接。您可以为此使用BeautifulSoup 。然后下载您需要的所有内容(使用您在步骤 1 中用于下载网页的相同代码)。
  3. href通过将所有/更改src为 css/image/js 文件的本地路径来更新本地页面。您可以fileinput用于就地文本替换。有关更多详细信息,请参阅此SO 帖子

而已。您必须担心的可选内容是使用代理从网络连接/下载(如果您使用代理)、创建文件夹和记录器。

你也可以使用Scrapy。查看这篇关于如何使用 Scrapy 抓取网站的博客文章。

于 2012-12-13T07:51:02.240 回答