Python采集豆丁网站文档数据内容, 保存word文档

Python采集豆丁网站文档数据内容, 保存word文档前言 大家早好 午好 晚好吖 欢迎光临本文章 如果有什么疑惑 资料需要的可以点击文章末尾名片领取源码 开发环境 版 本 python 3 8 编辑器 pycharm 2022 3 2 模块使用 requests gt pip install requests re base64 docx gt

大家好,我是讯享网,很高兴认识大家。

前言

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章


讯享网

如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码

开发环境:

  • 版 本: python 3.8
  • 编辑器:pycharm 2022.3.2

模块使用:

  • requests --> pip install requests
  • re
  • base64
  • docx --> pip install python-docx

第三方模块安装:

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

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

爬虫流程思路:

一. 数据来源分析
  1. 明确需求: 明确采集的网站以及数据内容
    • 网址: https://max.book118.com/html/2021/0519/8055055075003102.shtm?vip_view=search
    • 数据: 文档数据内容

      文档内容, 存在方式基本上图片的形式…

  2. 抓包分析
    • 打开开发者工具: F12
    • 刷新网页
    • 点击查看图片数据 Img

      https://view-cache.book118.com/view19/M03/2F/33/wKh2D2ClvVuAKwlSAADEX_8Jeug078.png

    • 通过关键字搜索, 找到所有文档内容所对应数据包位置
二. 代码实现步骤
  1. 发送请求: 模拟浏览器对于url地址发送请求
  2. 获取数据
  3. 解析数据
  4. 保存数据

代码展示

''' python资料获取看这里噢!! 小编 V:qian97378,即可获取: 文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书! ''' # 导入数据请求模块 import requests # 导入正则表达式模块 import re # 导入json import json # 导入时间模块 import time import base64 from docx import Document 

讯享网

“”"
文字识别:
1. 登陆百度云
2. 创建应用 领取资源
3. 点击技术文档
- 获取token值 <代码现成>
- 使用API接口识别文字内容 <代码现成>
“”"

讯享网def main(img_content): url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=xxxx&client_secret=xxxx" headers = { 
    'Content-Type': 'application/json', 'Accept': 'application/json' } response = requests.request("POST", url, headers=headers) access_token = response.json()['access_token'] print(access_token) 

‘’’
通用文字识别(高精度版)
‘’’

 request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic" 

二进制方式打开图片文件 传入二进制图片数据

讯享网''' python资料获取看这里噢!! 小编 V:qian97378,即可获取: 文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书! ''' img = base64.b64encode(img_content) params = { 
   "image": img} request_url = request_url + "?access_token=" + access_token headers = { 
   'content-type': 'application/x-www-form-urlencoded'} response_json = requests.post(request_url, data=params, headers=headers).json() words_result = '\n'.join([i['words'] for i in response_json['words_result']]).replace('原创力文档', '').replace('max.book118.com', '').replace('下载高清无水印', '') print(words_result) return words_result doc = Document() 

保存文档中

for page in range(1, 21, 6): 

延时

讯享网 time.sleep(2) print(page) 

请求链接 -> 复制开发者工具 请求网址

 url = 'https://openapi.book118.com/getPreview.html' 

请求参数 -> 复制开发者工具 载荷

讯享网''' python资料获取看这里噢!! 小编 V:qian97378,即可获取: 文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书! ''' data = { 
    'project_id': '1', 'aid': '', 't': '14b82bebac064a1ab0ff39103', 'view_token': 'WxkjakMHjCp171nCrqPbImkvoeN5_Ei9', 'page': page, # 'callback': 'jQuery0_29', '_': '30', } 

模拟浏览器 -> 复制开发者工具 请求头

 headers = { 
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36' } 
  1. 发送请求
讯享网 response = requests.get(url=url, params=data, headers=headers) 
  1. 获取响应文本数据, 正则匹配数据
''' python资料获取看这里噢!! 小编 V:qian97378,即可获取: 文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书! '''
    html_data = re.findall('jsonpReturn\((.*?)\);', response.text)[0] # json字符串数据, 转成json字典数据 json_data = json.loads(html_data) # 键值对取值 字典键值对 key:value for img in json_data['data'].values(): # https://view-cache.book118.com/view11/M00/2B/31/wKh2C19zQOuAZq11AACGj3HswGE408.png img_url = 'https:' + img # 获取图片的二进制数据 img_content = requests.get(url=img_url, headers=headers).content # 识别图片里面的文字内容 print(img_url) words_result = main(img_content=img_content) # 写入文档数据 doc.add_paragraph(words_result) doc.save('脑筋急转弯.docx') 

尾语

好了,今天的分享就差不多到这里了!

对下一篇大家想看什么,可在评论区留言哦!看到我会更新哒(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

最后,宣传一下呀~👇👇👇 更多源码、资料、素材、解答、交流 皆点击下方名片获取呀👇👇👇

小讯
上一篇 2025-01-27 14:42
下一篇 2025-01-10 23:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/66930.html