是否可以通过提供网站的URL获得包含css的网站的完整源代码? + Python

时间:2012-12-13 06:31:37

标签: python

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

任何人都能帮助我吗?

2 个答案:

答案 0 :(得分:1)

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

但是(最有可能)你会得到的是处理html + javascript。(即客户端浏览器读取的内容)。

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

答案 1 :(得分:0)

我同意0xc0de和Joddy。 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 post
  4. 就是这样。您需要担心的可选内容是使用代理连接/下载网络(如果您在后面),创建文件夹和记录器。

    您也可以使用Scrapy。检查此blog post有关如何使用Scrapy抓取网站的信息。