【发布时间】:2012-02-10 00:21:34
【问题描述】:
2.5 年前在 Downloading a web page and all of its resource files in Python 中提出了同样的问题,但没有得到答案,而且“请参阅相关主题”实际上并不是在问同样的问题。
我想下载页面上的所有内容,以便仅从文件中查看。
命令
wget --page-requisites --domains=DOMAIN --no-parent --html-extension --convert-links --restrict-file-names=windows
正是我需要的。但是,我们希望能够将它与其他必须可移植的东西结合起来,因此要求它使用 Python。
我一直在看 Beautiful Soup、scrapy、各种蜘蛛张贴在这个地方,但这些似乎都以巧妙但特定的方式处理获取数据/链接。使用这些来做我想做的事情似乎需要大量的工作来处理找到所有资源,当我确定必须有一个简单的方法时。
非常感谢
【问题讨论】:
-
import urllib urllib.urlretrieve('somesite.com/file.whatever', '要下载的文件名')
-
所以我知道我可以以这种方式下载单个文件,但我需要使用爬虫并设置许多条件来找到我想要的所有文件(一切都能够离线查看网站的一部分)。在 Python 中必须有一些下载网站和必要条件?
-
您可以在 for 循环中使用解析函数来搜索下载文件中的链接(或从任何地方读取)
-
这就是我们正在做的事情。老实说,我认为它会比找到页面规范(图像、css)更难,但指向它的链接在页面中可以找到并添加到集合中。
-
scrapy似乎已经发展得非常灵活。你最近有没有试图让它做你想做的事?你能澄清你想要它不能做什么吗?
标签: python web-crawler wget