Python获取豆丁文档数据内容, 保存word文档

前言

嗨喽,大家好呀~今天给大家带来的是用Python获取豆丁文档数据内容,并且保存word文档。

开发环境:

  • python 3.8

  • pycharm

模块使用:

  • requests --> pip install requests

  • re

  • base64

  • docx --> pip install python-docx

第三方模块安装方法:

win + R 输入cmd 输入安装命令 pip install 模块名

(如果你觉得安装速度比较慢, 你可以切换国内镜像源)

准备工作

在写代码之前,你需要先在Baidu开发者平台申请权限,

步骤如下:

1. 登录百度智能云

  • 没有Baidu账号的注册一个;

  • 第一次进入会有这样一个页面,你自己随意填

2. 通过界面右上角进入控制台

3. 进入控制台后点击左上角的菜单栏

3. 选中产品服务

搜索人脸识别

4. 点击创建应用

应用名称随便填

接口选择默认

应用归属选个人

应用描述随便填

然后点击立即创建

5. 创建完毕后点击返回应用列表

重点点击领取免费资源

6. 进行实名认证后领取服务类型里面的所有内容

实名认证需要一定时间

7. 领取完毕之后回到应用列表

复制API Key和Secret Key里的内容,用于后期的接口认证


👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~


代码实现步骤

  1. 发送请求, 模拟浏览器对于 文档页面url地址 发送请求

  2. 获取数据, 获取服务器返回响应数据

  3. 解析数据, 提取我们需要的内容:

    sid参数 / 文档页数 / 文档名称

    构建文档图片链接

  4. 保存数据, 把文档图片内容保存下来

代码展示

# 导入数据请求模块
import requests
# 导入正则模块
import re
import base64
from docx import Document

doc = Document()

def Content(content):
    url = "https://****/oauth/2.0/token?grant_type=client_credentials&client_id=xxxx&client_secret=xxxx"
    payload = ""
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
    response = requests.request("POST", url, headers=headers, data=payload)
    access_token = response.json()['access_token']
    '''
    通用文字识别(高精度版)
    '''
    request_url = "https://****/rest/2.0/ocr/v1/accurate_basic"
    # 二进制方式打开图片文件
    # f = open('img\\1 计算机概述1.jpg', 'rb')
    img = base64.b64encode(content)
    params = {"image":img}
    request_url = request_url + "?access_token=" + access_token
    headers = {'content-type': 'application/x-www-form-urlencoded'}
    json_data = requests.post(request_url, data=params, headers=headers).json()
    words_result = '\n'.join([i['words'] for i in json_data['words_result']])
    print(words_result)

# 模拟浏览器 --> 字典数据类型 --> 键:值
headers = {
    # User-Agent 用户代理 表示浏览器基本身份信息
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
# 请求链接
url = 'https://****/p-3282300896.html'
# 发送请求
response = requests.get(url=url, headers=headers)

# 获取网页数据
html_data = response.text
# 提取sid参数
sid = re.findall('flash_param_hzq:"(.*?)",', html_data)[0]
# 提取名字
name = re.findall('productName:"(.*?)",', html_data)[0]
# 提取页码
num = re.findall('<em>(\d+)</em>页</span>', html_data)[0]
# 构建完整图片链接
content_list = []
for page in range(1, int(num)+1):
    # 字符串格式化方法
    img = f'http://221.122.117.73/docinpic.jsp?sid={sid}&file=3282300896&width=942&pageno={page}'
    # 发送请求, 获取二进制数据<图片内容>
    img_content = requests.get(url=img, headers=headers).content
    words = Content(img_content)
    doc.add_paragraph(words)

doc.save(f'{name}.docx')

正则表达式提取数据内容

  • re.findall(‘数据’, ‘地方’) 调用re模块里面findall方法

    查找所有我们需要的数据内容

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。


关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python学习路线

二、Python基础学习

1. 开发工具

给大家准备考Python开发过程中需要用到的必备工具,包括最新版PyCharm安装永久激活工具。

2. 学习笔记

3. 学习视频

三、Python小白必备手册

图片

四、Python实战案例

五、Python爬虫秘笈

图片

六、数据分析全套资源

七、Python面试集锦

八、简历模板


资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值