查看原文
其他

科研小工具 | 如何批量下载普惠金融年度pdf报告

分享小工具的 社科大数据 2023-02-21


Part1数据介绍

前两天,企研·社科大数据平台(https://r.qiyandata.com)上线了银行业普惠专题数据库,其中银行业_普惠机构信息数据子库的年度报告(文本)模块,包含了大量的文本信息,数据下载下来之后,其中的pdf文件需要一个一个复制链接到浏览器进行下载。具体呈现形式如下:

经常查找资源的小伙伴一定知道,很多机构经常将 PDF,Word 等格式的文件存放于服务器,并引导用户点击指定链接跳转到另外的可以预览数据的网页。如下图所示,我们点击国家知识产权局官网主页中【政务】一栏,将鼠标放置在 “国家知识产权局关于核准……”,随后这些文字变为蓝色,点击后跳转到另一个网页,实际上我们点击的正是到达该 PDF 文件的链接;如下图所示,我们将这个链接复制到新建的网页,依然可以访问这份文件,在此页面中我们可以预览、下载或者打印文件。

如下图所示,社科大数据平台中所提供的年报数据,正是预览/下载数据的链接。我们可以从平台中下载含有下载链接的 csv 文件,下文称之为资源文件

Part2少量数据手动下载

在社科大数据平台下载资源文件后,打开文件并复制其中一个下载链接,粘贴到浏览器地址栏后点击键盘【Enter】即可进入预览/下载页面(首次使用链接,浏览器可能会弹出提示,点击忽略即可)。

Part3如何批量下载数据

手动下载虽方便,但也伴随着问题。当需要下载的数据很多,也就是说有很多个下载链接,我们总不能一个一个手动下载吧?当然不能,也没必要。我们可以使用 Python 自动化下载数据,电脑连接网络即可。

1使用企研自研下载器 —— 一键下载,省时省力

为了方便大家下载数据,我们开发了一个自动下载年报文件的程序给用户使用,该程序可以在电脑中运行,需要配合指定的资源文件(在社科大数据平台【TFID】-【年度报告(文本)】下载的数据表,csv 格式)一起使用。下载器如下图所示:

此工具使用非常简单,鼠标双击下载器  file_downloader.exe ,稍等片刻后会弹出如下图所示交互界面。

我们点击浏览按钮,会弹出 Windows 资源管理器,找到刚才下载的资源文件(笔者截取了其中两行数据用作展示)点击打开,随后再次点击 START 按钮即可在程序下方看到下载进度。下载器会将数据下载到与 pdf_downloader.exe 所在文件夹下的 download 文件夹中,如果没有这个文件夹,则会新建它并下载数据到其中。下载器使用步骤如下图所示:



关注我们,公众号对话框内发送关键词“20221014“,即可获取企研自制下载神器!




注意:由于下载器仅适配了社科大数据平台下载的资源文件,故而只能搭配此文件使用;同时,还有以下几个需要注意的地方:

  1. 资源文件可以是 .csv / .xlsx 格式的数据表;
  2. 资源文件中“报告名称”和“下载链接”两字段的名称不能修改;“下载链接”字段中的内容不能修改,否则会下载失败;
  3. 可以截取资源文件中的部分数据行,截取哪些行,下载器就会下载对应数据行的文件,正如笔者前面所示范的;
  4. 使用过程中关闭下载器,下载也会中断。

2Python 批量下载数据 —— 随心所欲,自由下载

除了使用我们提供的下载器下载文件,我们还可以选择编写 Python 代码来下载数据,需要借助 Python 中数据处理库 pandas 以及请求库 requests。相比较于使用下载器,编写代码虽不够方便,存在一定技术门槛,但是使用起来更加自由,排查错误比较方便,实现并不困难,更适合有一点 Python 基础的用户。

requests 库是 Python 中通用的网络请求第三方库,数据采集的好帮手。前面我们提供的下载器正是以 requests 为核心编写的下载程序。下面我们编写代码下载文件:

首先,安装需要用到的库(若已安装,可以跳过此步),安装库的命令如下:

pip install pandas
pip install requests

我们仍需要搭配从社科大数据平台下载的资源文件使用,下面是下载数据的代码:

import os               # 标准库,无需安装,用于创建文件夹
import requests         # 用于请求/下载数据
import pandas as pd     # 用于读取资源文件,也可以根据需求处理

## 第一步:创建下载目录
if not os.path.exists('./My_download'):
    os.mkdir('./My_download')

## 第二步:定义下载文件的方法
def download_file(URL, file_name):
    '''
    输入:下载链接、文件名(含后缀)
    得到:将数据下载到指定文件夹, 命名为传入的文件名
    '
''
    try:
        r = requests.get(url=URL, stream=True)  # 向服务器请求数据
        if r.status_code == 200:
            # 如果请求状态正常,则将数据写入到我们创建的文件夹
            with open(f'./My_download/{file_name}''wb') as ff:
                ff.write(r.content)
        del r
    except Exception as e:
        # 如果下载失败则报告错误
        print(e)

## 第三步:读取资源文件(从社科大数据平台下载的数据)
## nrows=5 表示只读取 csv 前五行(这里用作示范);此外,文件路径请根据实际填写
data = pd.read_csv(r'D:\文件下载1\信息披露报告_1663724697937.csv', nrows=5)

''' 此处可以使用 pandas 处理 data, 比如根据表中其他字段筛选文件等,后续就可以下载我们指定的文件了 '''

## 第四步,循环资源文件中的“报告名称”、“下载链接”两个字段,根据链接逐个下载文件
for name, link in zip(data['报告名称'], data['下载链接']):
    # 调用前面定义的下载方法
    download_file(link, name)

运行代码后,会在代码文件夹中生成我们定义的文件夹,并将数据下载到其中:

以上就是下载普惠金融年报文件的两种方法了,如果您读完后仍存有疑问,请留言或者联系客服,我们会积极解决。



关注我们,公众号对话框内发送关键词“20221014“,即可获取企研自制下载神器!





加入企研·社科大数据平台数据分享群,获取更多数据资源及新鲜资讯

·END·

星标⭐我们不迷路!

想要文章及时到,文末“在看”少不了!



点击搜索你感兴趣的内容吧

往期推荐


共同富裕(第40期) |  浙江省共同富裕现代化基本单元建设媒体通气会召开

TFID2022 | 众望所归!银行业普惠专题数据库正式上线!

企研·社科大数据平台 | 山东财经大学开通试用!

CCAD | 来看看学者们都用CCAD数据发了哪些文章

企研·社科大数据平台 | 全新上线,不变的便捷,更好的体验

文 | 两米哥


戳原文,更有料!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存