【发布时间】:2012-03-28 15:34:46
【问题描述】:
用urllib.urlretrieve('http://page.com', 'page.html')我可以保存索引页面并且只保存page.com的索引。 urlretrieve 是否处理类似于 wget -r 的东西,让我下载整个网页结构以及 page.com 的所有相关 html 文件?
问候
【问题讨论】:
用urllib.urlretrieve('http://page.com', 'page.html')我可以保存索引页面并且只保存page.com的索引。 urlretrieve 是否处理类似于 wget -r 的东西,让我下载整个网页结构以及 page.com 的所有相关 html 文件?
问候
【问题讨论】:
不直接。
如果您想爬取整个网站,请查看 mechanize:http://wwwsearch.sourceforge.net/mechanize/
这将让您加载页面并点击其中的链接
类似:
import mechanize
br = mechanize.Browser()
br.open('http://stackoverflow.com')
for link in br.links():
print(link)
response = br.follow_link(link)
html = response.read()
#save your downloaded page
br.back()
就目前而言,这只会让您在距起点仅一个链接的地方获得页面。不过,您可以轻松地调整它以覆盖整个网站。
如果您真的只想镜像整个站点,请使用 wget。仅当您需要进行某种巧妙的处理(处理 javascript、有选择地跟踪链接等)时,在 python 中执行此操作才值得
【讨论】: