首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python批量下载PDF

使用Python批量下载PDF
EN

Stack Overflow用户
提问于 2016-12-16 17:38:00
回答 1查看 1.1K关注 0票数 0

我正在尝试使用Python批量下载PDF文件。手动下载文件的过程如下:

  1. 开放https://www.ffiec.gov/nicpubweb/nicweb/HCSGreaterThan10B.aspx
  2. 单击列表上的任何银行。假设我选择第一个,JP Morgan
  3. 从顶部单击Create Report for 4 report (即银行组织系统风险报告(FRY-15))
  4. 单击您对财务报告的请求已就绪
  5. 下载下面的url 20160630.PDF打开的PDF
  6. 对清单上的每一家银行重复此过程。

要下载JP摩根的PDF文件,我的代码如下

代码语言:javascript
复制
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。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41189679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档