返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现强制复制粘贴的示例详解
  • 142
分享到

Python实现强制复制粘贴的示例详解

Python强制复制粘贴Python 复制粘贴 2022-12-19 06:12:29 142人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录前因后果流程思路代码展示效果展示前因后果 公司有人阳了,今天在家上班,突然小姨子就问我有没有baidu文库会员,想下载点东西,我心想这还要会员?用python不是分分钟的事情!

前因后果

公司有人阳了,今天在家上班,突然小姨子就问我有没有baidu文库会员,想下载点东西,我心想这还要会员?用python不是分分钟的事情!

然后我非常自信的告诉她不用会员随便下载,结果她顺势想来我家,还问我她姐姐在不在家,趁我一个人在家过来想干嘛?本着男孩子一个人在家要好好保护自己的原则,于是我过段拒绝了她!

兄弟们我做的对吗?

咱们来开始今天的内容,咱们不仅要强制复制粘贴,还要自动保存到world文档,就问你刑不刑!

需要的模块

requests  # 数据请求模块
docx  # 文档保存 
re    # 内置模块 不需要安装

除了 re 模块,前面两个都是第三方模块,需要手动安装,win+r 打开运行框输入cmd,点击确定弹出命令提示符窗口输入 pip install 加上模块名即可。

docx 需要加上Python ,pip install python-docx

流程思路

基本思路流程

一、分析数据来源

找文档数据内容, 是在那个url里面生成的,通过开发工具进行抓包分析。

  • 打开开发者工具: F12 / 鼠标右键点击检查选择network
  • 刷新网页: 让本网页数据内容重新加载一遍,如果你是非VIP账号, 看数据, 图片形式 —> 把数据<图片> 获取下来 —> 做文字识别;
  • 分析文库数据内容,,图片所在地址;
  • 获取所有图片内容: 文库数据 --> 图片形式 —> 所有图片内容保存下载
  • 文字识别, 把图片文字识别出来, 保存Word文档里面

二、代码实现步骤

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

图片数据包:

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

开发者工具: response

3.解析数据, 提取图片链接地址

4.保存数据, 把图片内容保存到本地文件夹

5.做文字识别, 识别文字内容

6.把文字数据信息, 保存word文档里面

代码展示

导入模块

# 导入数据请求模块
import requests
# 导入格式化输出模块
from pprint import pprint
# 导入base64
import base64
# 导入os模块
import os
# 导入文档模块
from docx import Document
# 导入正则
import re
# 导入JSON
import json

文字识别:

1. 注册一个百度云api账号

2. 创建应用 并且去免费领取资源

3. 在技术文档里面 Access Token获取

4. 调用API接口来做文字识别

client_id 为官网获取的AK, client_secret 为官网获取的SK

host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=Gu7BGsfoKFZjLGvOKP7WezYv&client_secret=rGa2v2FcVnxBDFlerSW5H0D2eO7nRxdp'
response = requests.get(host)
access_token = response.json()['access_token']

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

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

二进制方式打开图片文件

f = open(file, 'rb')
img = base64.b64encode(f.read())
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 = '\n'.join([i['words'] for i in json_data['words_result']])
return words

读取文件夹里面所有图片内容

content_list = []
files = os.listdir('img\\')
for file in files:
    filename = 'img\\' + file
    words = get_content(file=filename)
    print(words)
    content_list.append(words)

保存word文档里面

doc = Document()
# 添加第一段文档内容
content = '\n'.join(content_list)
doc.add_paragraph(content)
doc.save('data.docx')

发送请求,模拟浏览器对于url地址发送请求。

请求头

headers = {
    'User-Agent': 'Mozilla/5.0 (windows NT 10.0; WOW64) AppleWEBKit/537.36 (Khtml, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
html_data = requests.get(url=link, headers=headers).text
json_data = json.loads(re.findall('var pageData = (.*?);', html_data)[0])
pprint(json_data)
for j in json_data['aggInfo']['docList']:
    name = j['title']  # 名字
    score = j['score'] # 评分
    viewCount = j['viewCount'] # 阅读量
    downloadCount = j['downloadCount'] # 下载量
    docId = j['docId'] # 数据包ID

确定请求链接

url = 'https://wenku.baidu.com/gsearch/rec/pcviewdocrec'

请求参数

data = {
    'docId': docId,
    'query': name,
    'recPositions': ''
}

请求头

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}

发送请求

response = requests.get(url=url, params=data, headers=headers)

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

  • response.json() 获取响应json字典数据, 但是返回数据必须是完整json数据格式 花括号 {}
  • response.text 获取响应文本数据, 返回字符串 任何时候都可以, 但是基本获取网页源代码的时候
  • response.content 获取响应二进制数据, 返回字节 保存图片/音频/视频/特定格式文件

解析数据, 提取图片链接地址

字典取值: 键值对 根据冒号左边内容[键], 提取冒号右边的内容[值]

for循环遍历, 把列表里面元素一个一个提取出来

# 定义文件名 整型
num = 1
# for循环遍历, 把列表里面元素一个一个提取出来
for index in response.json()['data']['relateDoc']:
    # index 字典呀
    pic = index['pic']
    print(pic)

保存数据 发送请求 + 获取数据 二进制数据内容

img_content = requests.get(url=pic, headers=headers).content
# 'img\\'<文件夹名字> + str(num)<文件名> + '.jpg'<文件后缀>  mode='wb' 保存方式, 二进制保存
# str(num) 强制转换成 字符串
# '图片\\' 相对路径, 相对于你代码的路径 你代码在那个地方, 那个代码所在地方图片文件夹
with open('图片\\' + str(num) + '.jpg', mode='wb') as f:
    # 写入数据 保存数据  把图片二进制数据保存
    f.write(img_content)
# 每次循环 + 1
print(num)
num += 1

效果展示

world文档

以上就是Python实现强制复制粘贴的示例详解的详细内容,更多关于Python强制复制粘贴的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python实现强制复制粘贴的示例详解

本文链接: https://lsjlt.com/news/175192.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python实现强制复制粘贴的示例详解
    目录前因后果流程思路代码展示效果展示前因后果 公司有人阳了,今天在家上班,突然小姨子就问我有没有baidu文库会员,想下载点东西,我心想这还要会员?用Python不是分分钟的事情! ...
    99+
    2022-12-19
    Python强制复制粘贴 Python 复制粘贴
  • 详解如何使用Python实现复制粘贴的功能
    目录楔子Windows 上的复制粘贴macOS 上的复制粘贴Linux 上的复制粘贴pyperclip 实现复制粘贴楔子 pandas 里面有一个 pd...
    99+
    2023-01-03
    Python实现复制粘贴功能 Python复制粘贴 Python复制 Python粘贴
  • ubuntu如何实现复制粘贴
    ubuntu实现复制粘贴的方法:在KDE/Gnome下:复制命令:Ctrl + C粘贴命令:Ctrl + V在终端下:复制命令:Ctrl + Shift + C 组合键粘贴命令:Ctrl + Shift + V 组合键在控制台下:复制命令:...
    99+
    2024-04-02
  • Vim如何实现复制粘贴
    这篇文章将为大家详细讲解有关Vim如何实现复制粘贴,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最近使用Vim来写博客,发现在Vim中粘贴Python代码后,缩进就全乱了。仔细研究了以下,原来是自动缩进的...
    99+
    2023-06-13
  • 如何用python实现复制粘贴功能
    目录楔子实现复制实现粘贴macOS实现复制粘贴Linux实现复制粘贴楔子 pandas里面有这么一个方法:pd.read_clipboard,可以根据你复制的内容生成DataFra...
    99+
    2024-04-02
  • 怎么用python实现复制粘贴功能
    这篇文章主要介绍“怎么用python实现复制粘贴功能”,在日常操作中,相信很多人在怎么用python实现复制粘贴功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用python实现复制粘贴功能”的疑惑有所...
    99+
    2023-06-08
  • python3+PyQt5实现使用剪贴板做复制与粘帖示例
    本文是对《Python Qt GUI快速编程》的第10章的例子剪贴板用Python3+PyQt5进行改写,分别对文本,图片和html文本的复制与粘帖,三种做法大同小异。 #!/usr/bin/env p...
    99+
    2022-06-04
    剪贴板 示例
  • ps文字复制粘贴移动的示例分析
    这篇文章给大家分享的是有关ps文字复制粘贴移动的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、在ps中复制粘贴文字的方法(1)看怎么用快捷键复制图层,首先找到图层面板,在ps界面右侧,如果看不到,在顶...
    99+
    2023-06-15
  • javaScript如何实现复制粘贴功能
    小编给大家分享一下javaScript如何实现复制粘贴功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • vue如何实现粘贴复制功能
    这篇文章主要介绍了vue如何实现粘贴复制功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。引言项目中如果实现粘贴复制功能,目前市面上共有三种方法,均有利有弊,大家可以根据自己...
    99+
    2023-06-29
  • js 剪切、复制、粘贴功能实现
    针对现代浏览器实现(Navigator.clipboard) Navigator.clipboard API可以用来访问系统剪贴板,可以实现【剪切、复制、粘贴】功能。该 API 被设...
    99+
    2023-05-18
    js 剪切 js复制 js粘贴
  • Webjs实现复制文本到粘贴板
    本文实例为大家分享了Web js实现复制文本到粘贴板的具体代码,供大家参考,具体内容如下 一、简述 记--简单用js实现将元素的文本内容复制到粘贴板。 二、效果 三、代码 <...
    99+
    2024-04-02
  • vue实现点击复制到粘贴板
    本文实例为大家分享了vue实现点击复制到粘贴板的具体代码,供大家参考,具体内容如下 背景: 业务开发中遇到,点击复制内容到粘贴板的需求,记录一下 效果: 关键代码: copyTex...
    99+
    2024-04-02
  • VMware虚拟机中的linux复制粘贴详解
    一,VMware Workstation下的linux: 1、更新源(非必须) vi /etc/apt/sources.list 调整国内的源地址,自行网上搜索。 #kali官方源 deb http:/...
    99+
    2022-06-04
    vmware虚拟机linux vmware创建linux虚拟机
  • vue粘贴复制功能的实现过程记录
    目录引言1. 项目需求图展示:1. 安装第三方插件方法(不推荐)2. 浏览器自带Document.execCommand()复制方法(不推荐)3. Clipboard.writeTe...
    99+
    2024-04-02
  • jQuery如何实现复制到粘贴板功能
    这篇文章主要为大家展示了“jQuery如何实现复制到粘贴板功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何实现复制到粘贴板功能”这篇文章吧。用...
    99+
    2024-04-02
  • 电脑复制粘贴后没有提示如何解决
    这篇文章主要讲解了“电脑复制粘贴后没有提示如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“电脑复制粘贴后没有提示如何解决”吧!打开此电脑,随后选择“文件”中的“更改文件夹和搜索选项”进...
    99+
    2023-06-27
  • winxp复制粘贴时出现乱码的解决方法
    原因: 可能出在输入法里面,WindowsXP默认的输入法为英语,键盘模式为美式键盘,这个选项一直用于Windows98中,同时提供的还有中文键盘的模式,由于在Windows98中使用美式键盘没有任何问题,所以大家在设置...
    99+
    2023-05-26
    复制粘贴 乱码 解决 winxp 方法
  • JS代码如何实现粘贴板复制功能
    这篇文章将为大家详细讲解有关JS代码如何实现粘贴板复制功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用剪贴板是一项基本技能。作为码农都应知道, Tab , Ctrl...
    99+
    2024-04-02
  • 如何通过禁用JavaScript的方式实现复制粘贴
    这篇文章给大家分享的是有关如何通过禁用JavaScript的方式实现复制粘贴的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。早上起来睁开眼,诶呀,考试周又到了。各个科目的期中作业都在各自的平台陆续发布了。各种乱七八...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作