我是Python的新手,我目前的任务是编写一个网页爬虫,在某些网页中查找PDF文件并下载它们。这是我目前的做法(只为1个采样网址):使用mechanize和urllib下载pdf文件
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)
在此先感谢。
啊,我明白了。谢谢。 – user721975