用Python爬虫制作一个简易翻译器

我们通常是通过requests+BS4的方法来获取网页内容,这种方法导入模块较多,速度相对有点儿慢,此时我们可以用requests的post方法向指定服务器发送请求,获取数据后格式化为json,然后获取相关键值。这种方法用到了requests和json两个模块,通过headers进行伪装。

一、获取网页翻译源码

python 复制代码
import requests

# 定义请求的 URL 和数据
url = 'https://fanyi.so.com/index/search'
data = {'eng': '1', 'validate': '', 'ignore_trans': '0', 'query': 'as well'}
# 伪装
headers = {
    'useragent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36 Edg/128.0.0.0',
    'pro': 'fanyi'
}

# 发送 POST 请求并获取响应
response = requests.post(url=url, headers=headers, data=data).json()

# 提取翻译文本
translated_text = response['data']['fanyi']
print(translated_text)

二、代码解读

  1. URL 和请求数据:请求的目标 URL 是 http://fanyi.so.com,用于查询翻译结果。请求数据中,query 是我们需要翻译的文本,这里设定为 "as well"。

  2. 请求头:通过 headers 指定浏览器标识,模拟真实用户访问。这样可以避免请求被认为是机器人访问而被拦截。

  3. POST 请求:使用 requests.post() 发送 POST 请求,并将服务器返回的 JSON 响应转换为字典。

  4. 提取翻译:响应数据的 data'fanyi' 字段包含了翻译后的文本。代码最后将该翻译结果输出。

三、注意事项

  1. 如果想获取请求的域名,要通过chrome打开网页,输入一个单词如hello,然后按下F12,查看标头,找到请求网址。

获取请求网址

  1. 在载荷中找到post的数据,存入到data变量:

找到发送的数据内容。

  1. 发送的数据变量data中eng的键值为1是英译中,2是中译英。
相关推荐
Chester_19992 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
DeepVisionary3 小时前
谷歌 Gemini Omni 1.1 Flash 正式发布:4K 视频、40 秒场景延伸,视频生成进入按 token 计费时代
python·自动化
阡之尘埃3 小时前
Python数据分析案例85——大模型微调全流程(SFT的LoRA微调)
人工智能·python·深度学习·语言模型·llm·微调·千问
海兰4 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(三)
javascript·python·金融
EXI-小洲4 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
cvcode_study4 小时前
Ollama+ComfyUI 多模态
大数据·人工智能·python
会周易的程序员4 小时前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计
开发语言·c++·虚拟机·软plc·iec61131·stvm
机器视觉知识推荐、就业指导4 小时前
为什么老说“纯 Qt 没啥就业市场”?
开发语言·qt
telepan4 小时前
Qt 开发避坑与性能指南:如何优雅、安全地定义全局常量字符串?
开发语言·qt
m0_695251494 小时前
Qt MaintenanceTool 使用国内镜像加速下载(超详细教程)
开发语言·qt