我正在尝试使用Python批量下载PDF文件。手动下载文件的过程如下:
要下载JP摩根的PDF文件,我的代码如下
import urllib2
url = 'https://www.ffiec.gov/nicpubweb/NICDataCache/FRY15/FRY15_1039502_20160630.PDF'
res = urllib2.urlopen(url)
with open('jpm.pdf', 'wb') as handle:
handle.write(res.read())代码在我的机器上工作,而不是在其他人的机器上工作。我怀疑这与url的NICDataCache部分有关。我已经访问过这个url,所以代码知道在哪里获取PDF;对于没有访问过该站点的人,如果他们输入上面的url,他们就会得到
您要查找的资源已被删除、名称更改或暂时不可用。
我可以尝试让Python模拟这个按钮--点击上面的按钮,然后下载打开的PDF,但我想知道是否有更简单的方法--这种方式不需要我访问我想要下载的每个url。谢谢。
发布于 2016-12-16 17:54:18
在银行列表中,注意括号中的整数。
假设:该整数唯一地标识该银行。
这是创建缓存资源以供您访问的url:
https://www.ffiec.gov/nicpubweb/nicweb/FinancialReport.aspx?parID_RSSD={bank_id}&parDT=20160630&parRptType=FRY15
请注意URL中的{bank_id}。我把它放那儿了。如果您从银行列表中替换任何以parens包装的给定整数,它将生成缓存的资源。
然后,如果您访问这个URL:https://www.ffiec.gov/nicpubweb/NICDataCache/FRY15/FRY15_{bank_id}_20160630.PDF
它会以PDF格式回应那家银行。
本质上,您需要从第一页中查看银行列表,为您想要的每个银行生成缓存的资源(通过使用第一个URL作为模板,注入银行号),然后从第二个URL模板中提取PDF。
https://stackoverflow.com/questions/41189679
复制相似问题