【发布时间】:2015-04-27 15:31:01
【问题描述】:
我正在编写一个脚本,它使用正则表达式在页面上查找 pdf 链接,然后下载所述链接。该脚本在我的个人目录中运行并正确命名文件,但它没有下载完整的 pdf 文件。 pdf 正在被拉取,只有 19kb,一个损坏的 pdf,当它们应该是大约 15mb 时
import urllib, urllib2, re
url = 'http://www.website.com/Products'
destination = 'C:/Users/working/'
website = urllib2.urlopen(url)
html = website.read()
links = re.findall('.PDF">.*_geo.PDF', html)
for item in links:
DL = item[6:]
DL_PATH = url + '/' + DL
SV_PATH = destination + DL
urllib.urlretrieve(DL_PATH, SV_PATH)
url 变量链接到包含所有 pdf 链接的页面。当您单击 pdf 链接时,它会将您带到“www.website.com/Products/NorthCarolina.pdf”,它会在浏览器中显示 pdf。我不确定是否因此我应该使用不同的 python 方法或模块
【问题讨论】:
-
您是否查看了您正在下载的文件以查看它们是否真的是 pdf 文件,或者它们是否是有消息的网页(例如尝试重定向或其他一些 HTTP 状态) ?
-
那 19K 里有什么?它可以是嵌入了链接的下载页面。
-
那 19k,下载的是损坏的 PDF 文件