python爬虫post访问案例-有道翻译

简介: python爬虫post访问案例-有道翻译
  • post请求会携带一些form表单数据,这个需要复制过来以字典形式写入。
    表单数据在网页上点击F12后,在Fetch/XHR一栏中的Payload中获取。
    以搜索“你好”为例,此时的表单数据如下:
    i: 你好
    from: AUTO
    to: AUTO
    smartresult: dict
    client: fanyideskweb
    salt: 16417380413821
    sign: 6545acd2d928b39eb5bead9349a2d4ff
    lts: 1641738041382
    bv: fdac15c78f51b91dabd0a15d9a1b10f5
    doctype: json
    version: 2.1
    keyfrom: fanyi.web
    action: FY_BY_REALTlME

对于这些数据,写到代码中还需要一定的操作。
因为是放在字典中,所以都要加上字符串。可以使用正则替换快速完成:ctrl + r ,(.*): (.*) “$1”:"$2"
再就是我们实际翻译不只翻译你好这一个词,所以把“你好”换成变量名key。
修改好后的形式见代码中。

使用urllib库访问

import urllib.request
import urllib.parse
import json

# 要进行输入内容
key = input("请输入内容:")
data = {
    
    "i": key,
    "from": "AUTO",
    "to": "AUTO",
    "smartresult": "dict",
    "client": "fanyideskweb",
    "salt": "16374132986488",
    "sign": "dfd139af546a8cd63de0676f446ca2ee",
    "lts": "1637413298648",
    "bv": "03a6a27012b22bc3c7ecc76381772182",
    "doctype": "json",
    "version": "2.1",
    "keyfrom": "fanyi.web",
    "action": "FY_BY_REALTlME",
}
# 字节流,如果输入中文,需要处理的
data = urllib.parse.urlencode(data)  # 转为十六进制形式
data = bytes(data, encoding='utf8')  # 转为字节流
headers = {
    
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'
    }
# 目标url发请求
# {"errorCode":50} ,把_o
url = 'https://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
# 构建请求对象
req = urllib.request.Request(url, data=data, headers=headers)
# 发请求,获取响应对象
res = urllib.request.urlopen(req)
# print(res.getcode())  # 得到响应码,200表示请求成功
html = res.read().decode('utf-8')
# print(type(html))  # <class 'str'>,得到的是json数据
# json数据转字典
dic = json.loads(html)
result = dic["translateResult"]  # [[{'src': '你好', 'tgt': 'hello'}]]
print(result[0][0]['tgt'])

结果如图所示:
在这里插入图片描述

使用requests库访问

import requests
import json

# 请输入要翻译的内容
key = input("请输入:")

# 携带的数据
data = {
    
    "i": key,
    "from": "AUTO",
    "to": "AUTO",
    "smartresult": "dict",
    "client": "fanyideskweb",
    "salt": "16374132986488",
    "sign": "dfd139af546a8cd63de0676f446ca2ee",
    "lts": "1637413298648",
    "bv": "03a6a27012b22bc3c7ecc76381772182",
    "doctype": "json",
    "version": " 2.1",
    "keyfrom": "fanyi.web",
    "action": "FY_BY_REALTlME",
}
url = 'https://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
headers ={
    
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'
}
# 构建请求对象
req = requests.post(url, data=data, headers=headers)
print(req.text)

dic = json.loads(req.text)
result = dic["translateResult"]  # [[{'src': '你好', 'tgt': 'hello'}]]
print(result[0][0]['tgt'])

结果如图所示:
在这里插入图片描述

可以看出,代码相对简洁。

目录
相关文章
|
1月前
|
数据采集 存储 XML
Python爬虫:深入探索1688关键词接口获取之道
在数字化经济中,数据尤其在电商领域的价值日益凸显。1688作为中国领先的B2B平台,其关键词接口对商家至关重要。本文介绍如何通过Python爬虫技术,合法合规地获取1688关键词接口,助力商家洞察市场趋势,优化营销策略。
|
6天前
|
数据采集 存储 缓存
如何使用缓存技术提升Python爬虫效率
如何使用缓存技术提升Python爬虫效率
|
7天前
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
16天前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。
|
21天前
|
数据采集 存储 API
利用Python爬虫获取1688关键词接口全攻略
本文介绍如何使用Python爬虫技术合法合规地获取1688关键词接口数据,包括环境准备、注册1688开发者账号、获取Access Token、构建请求URL、发送API请求、解析HTML及数据处理存储等步骤,强调遵守法律法规和合理使用爬虫技术的重要性。
|
28天前
|
数据采集 JSON 开发者
Python爬虫京东商品详情数据接口
京东商品详情数据接口(JD.item_get)提供商品标题、价格、品牌、规格、图片等详细信息,适用于电商数据分析、竞品分析等。开发者需先注册账号、创建应用并申请接口权限,使用时需遵循相关规则,注意数据更新频率和错误处理。示例代码展示了如何通过 Python 调用此接口并处理返回的 JSON 数据。
|
2月前
|
XML 数据采集 数据格式
Python 爬虫必备杀器,xpath 解析 HTML
【11月更文挑战第17天】XPath 是一种用于在 XML 和 HTML 文档中定位节点的语言,通过路径表达式选取节点或节点集。它不仅适用于 XML,也广泛应用于 HTML 解析。基本语法包括标签名、属性、层级关系等的选择,如 `//p` 选择所有段落标签,`//a[@href=&#39;example.com&#39;]` 选择特定链接。在 Python 中,常用 lxml 库结合 XPath 进行网页数据抓取,支持高效解析与复杂信息提取。高级技巧涵盖轴的使用和函数应用,如 `contains()` 用于模糊匹配。
|
2月前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
116 6
|
5月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
248 4
|
5月前
|
数据采集 存储 搜索推荐
打造个性化网页爬虫:从零开始的Python教程
【8月更文挑战第31天】在数字信息的海洋中,网页爬虫是一艘能够自动搜集网络数据的神奇船只。本文将引导你启航,用Python语言建造属于你自己的网页爬虫。我们将一起探索如何从无到有,一步步构建一个能够抓取、解析并存储网页数据的基础爬虫。文章不仅分享代码,更带你理解背后的逻辑,让你能在遇到问题时自行找到解决方案。无论你是编程新手还是有一定基础的开发者,这篇文章都会为你打开一扇通往数据世界的新窗。