我是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