【发布时间】:2011-08-03 18:29:36
【问题描述】:
我是 Python 新手,我目前的任务是编写一个网络爬虫,在某些网页中查找 PDF 文件并下载它们。这是我目前的方法(仅适用于 1 个示例 url):
import mechanize
import urllib
import sys
mech = mechanize.Browser()
mech.set_handle_robots(False)
url = "http://www.xyz.com"
try:
mech.open(url, timeout = 30.0)
except HTTPError, e:
sys.exit("%d: %s" % (e.code, e.msg))
links = mech.links()
for l in links:
#Some are relative links
path = str(l.base_url[:-1])+str(l.url)
if path.find(".pdf") > 0:
urllib.urlretrieve(path)
程序运行没有任何错误,但我没有看到 pdf 保存在任何地方。我可以通过浏览器访问 pdf 并保存它。有什么想法吗?我正在使用 pydev(基于 eclipse)作为我的开发环境,如果这有什么不同的话。
另一个问题是,如果我想在保存 pdf 的同时给它一个特定的名称,我该怎么做?这种方法正确吗?在保存 PDF 之前,我是否必须创建一个带有“文件名”的文件?
urllib.urlretrieve(path, filename)
提前致谢。
【问题讨论】:
标签: python eclipse web-crawler mechanize urllib