python数据可视化开发(4):获取对应地址的pdf文档并分类保存到本地文件夹

简介: python数据可视化开发(4):获取对应地址的pdf文档并分类保存到本地文件夹

系列文章目录

python开发低代码数据可视化大屏:pandas.read_excel读取表格

python实现直接读取excle数据实现的百度地图标注

python数据可视化开发(1):Matplotlib库基础知识

python数据可视化开发(2):pandas读取Excel的数据格式处理

python数据可视化开发(3):使用psutil和socket模块获取电脑系统信息(Mac地址、IP地址、主机名、系统用户、硬盘、CPU、内存、网络)


文章目录

系列文章目录

前言

一、项目需求

二、项目开发

1.引入库

2.创建目录

3.保存PDF封装函数

4.核心代码


前言


6fd4eb1342bf4174b15f9c8d39aa611b.gif


本案例是实战案例开发,通过requests模块获取指定网站的pdf文档并分类保存到本地的操作。


一、项目需求

指定网址的pdf文档,通过提供的API进行读取,并按照指定的字段进行分类保存到本地;

文件命名规则:文件名.pdf


二、项目开发

1.引入库

代码如下(示例):

import requests
import time
import io
import os

2.创建目录

代码如下(示例):

def check_dir(dir_name):
    # 创建目录
    if not os.path.exists(dir_name):
        os.makedirs(dir_name)
    # 返回目录名称
    return dir_name

3.保存PDF封装函数

  • dir_name, 指定目录;
  • pro_name,文件名称;
  • pro_id, 通过指定的项目id读取对应的pdf资源;
  • pro_types,项目类型;
# 读取对应的PDF文件
def get_pdf(dir_name, pro_name, pro_id, pro_types):
    send_headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
        "Connection": "keep-alive",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
        "Accept-Language": "zh-CN,zh;q=0.8"}
    url_file = 'http://test.com?m=Surveyor&a=surveyorDetail&act=preview&pro_id={}&pro_types={}'.format(pro_id, pro_types)
    req = requests.get(url_file, headers=send_headers)  # 通过访问互联网得到文件内容
    bytes_io = io.BytesIO(req.content)  # 转换为字节流
    with open(r'{}/{}.pdf'.format(dir_name, pro_name), 'wb') as file:
        file.write(bytes_io.getvalue())  # 保存到本地
    print('{}已保存...'.format(pro_name))
    # 延迟2秒
    time.sleep(2)

time.sleep(2),在开发时,建议做好获取时间的限制,防止过度占用宽带。

4.核心代码

domain_url = 'http://test.com/api/api.php?act=getAllProject&token=3cab7ce4142608c0f40c785b5ab5ca24'
re = requests.get(url=domain_url)
# print(re.status_code)
if re.status_code == 200:
    print("已对接API...")
    r = re.json()
    # print(type(r['data']))
    for item in r['data']:
        # 自动生成对应的目录
        if item['pro_audit'] == '2':
            save_dir = check_dir('city')
        elif item['pro_audit'] == '3':
            save_dir = check_dir('county')
        elif item['pro_audit'] == '4':
            save_dir = check_dir('province')
        elif item['pro_audit'] == '5':
            save_dir = check_dir('complete')
        # print(save_dir)
        # 遍历文件
        get_pdf(save_dir, item['pro_name'], item['pro_id'], item['pro_types'])
else:
    print("无法获取API数据")


@漏刻有时

相关文章
|
4天前
|
网络协议 Linux Python
Python脚本配置Centos静态ip地址
这是一个Python脚本,用于自动化配置CentOS系统的静态IP地址。脚本创建或修改文件,填写接口名(如ens33)、IP地址、子网掩码、网关和DNS。运行时需替换变量值并使用`sudo`以管理员权限执行。完成配置后,它会重启网络服务。注意,用户应根据实际网络环境调整参数。
Python脚本配置Centos静态ip地址
|
11天前
|
数据采集 SQL 关系型数据库
Python学习路线【对标大厂Python开发工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫
Python学习路线【对标大厂Python开发工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫
45 14
|
2天前
|
自然语言处理 程序员 编译器
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
11 2
爆赞!GitHub首本Python开发实战背记手册,标星果然百万名不虚传
Python (发音:[ 'paiθ(ə) n; (US) 'paiθɔn ] n. 蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。 Python 语言的特点:
|
11天前
|
JSON 数据格式 Python
Flask实现内部接口----pycharm安装及新建,location代表着文件路径,下面是Python的环境,Flask是由Python开发的框架,Python文件接口ython通过GET发送
Flask实现内部接口----pycharm安装及新建,location代表着文件路径,下面是Python的环境,Flask是由Python开发的框架,Python文件接口ython通过GET发送
|
7天前
|
数据处理 开发者 Python
【Python】已解决:FileNotFoundError: [Errno 2] No such file or directory: ‘E:\自动备份文档\Python\修改配置.csv‘
【Python】已解决:FileNotFoundError: [Errno 2] No such file or directory: ‘E:\自动备份文档\Python\修改配置.csv‘
15 1
|
10天前
|
数据可视化 数据挖掘 API
数据可视化秘籍聚焦Python的Matplotlib和Seaborn库,它们是数据分析的得力工具。
【7月更文挑战第5天】数据可视化秘籍聚焦Python的Matplotlib和Seaborn库,它们是数据分析的得力工具。Matplotlib是基础库,提供高度自定义的2D图表,而Seaborn在其上构建,提供美观的统计图形。文章介绍了如何用两者画线图、散点图、条形图、饼图和直方图,展示数据趋势和关系。
|
11天前
|
JavaScript 数据库
文本,在线浏览PDF,一个最简单的文档标准样式,文档预览非常简单的样式,文档管理样式设计,标准,好的设计
文本,在线浏览PDF,一个最简单的文档标准样式,文档预览非常简单的样式,文档管理样式设计,标准,好的设计
|
1天前
|
XML 前端开发 API
颠覆传统!AJAX、Fetch API与Python后端,开启Web开发新篇章!
【7月更文挑战第14天】Web开发中,AJAX作为异步通信先驱,与新兴的Fetch API一起革新交互体验。Fetch基于Promise,简化了请求处理。Python后端,如Flask,提供稳定支撑。这三者的融合,推动Web应用达到新高度,实现高效、实时交互。通过示例展示,我们看到从发送请求到更新UI的流畅过程,以及Python如何轻松返回JSON数据。这种组合揭示了现代Web开发的潜力和魅力。
8 0
|
2天前
|
数据可视化 Linux 数据格式
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
5 0

相关实验场景

更多