简单的用Python来做一个翻译软件
开发环境
Python 3.10
Pycharm
模块使用
requests -> pip install requests
hashlib
tkinter
案例分为三部分:
1. 爬虫: 获取翻译接口, 请求获取翻译结果
问题1: 接口抓包分析
问题2: 请求需要写cookie
问题3: 不同文本翻译, s加密参数
2. 界面: GUI界面开发
3. 打包: 把py程序打包exe软件
为了大家能更好的学会案例,我还专门录制了视频进行详细讲解,文末点击名片自取即可。
基本流程
一、数据来源分析
1.明确需求
明确采集的网站以及数据内容
网址: https://******/text
数据: 翻译内容
2.抓包分析
通过浏览器开发者工具分析对应数据位置
- 打开开发者工具
- F12 / 右键点击检查选择network(网络)
- 刷新网页
刷新网页: 进入网页, 在网页页面上已经有数据
输入/点击搜索/查询: 刚开始进入网页没有数据, 当我们执行某些操作之后返回
下滑页面加载新的数据内容/点击翻页加载更多数据: 下滑网页/点击加载更多数据 - 通过关键字搜索找到对应的数据位置
- 关键字: 需要什么数据就搜什么数据
数据包地址: https://*****/api/transpc/text/result
二、代码实现步骤
1.发送请求
模拟浏览器对于url地址发送请求
模拟浏览器
可以直接复制: 开发者工具 -> 网络 -> 点击对应数据包 -> 标头 -> 请求标头 -> cookie/ua/referer…
- 复制之后在代码中字典形式
请求网址
刚刚抓包分析找到链接地址, 直接复制粘贴即可
1.发送请求
一般使用: 第三方模块 requests 进行数据请求
-请求方法: 开发者工具 -> 网络 -> 点击对应数据包 -> 标头 -> 常规
POST GET
-请求参数
GET请求: 查询参数 (显性)
-直接在链接中显示, 可以不用额外构建
比如: https://f*****/text? keyword=%E4%BD%A0%E5%A5%BD&transfrom=auto&transto=en&model=general
POST请求: 表单数据/请求载荷 (隐性)
-开发者工具 -> 网络 -> 点击对应数据包 -> 载荷
2.获取数据
获取服务器返回响应数据
获取响应的json数据
json_data = response.json()
注意: 查看返回数据和在响应中是否一致
1.正常返回数据 (没有问题)
2.返回数据 (数据不是我们需要的) -> 被反爬了
3.没有返回数据 (空白面板) -> 被反爬了
如何解决:
1.考虑请求头添加的参数伪装不够完善,只是添加ua, 继续添加cookie参数…
2.请求参数/请求头 是否存在加密参数内容
3.解析数据
提取我们需要的数据内容
4.保存数据
把提取数据保存表格/文本/json/数据库