进阶的爬虫2——百度翻译中英互转

爬取百度翻译
首先我们打开网页端,通过检查找到翻译的时候是通过v2transapi响应翻译结果的
这里写图片描述

这里写图片描述

然后我们查看url和data
通过我们用不同的词对比发现data 里面sign和transtype这两个是不同的,而且sign的不同很有可能是随机数,不太容易找到规律,所以我们尝试用手机端看看有没有区别,有没有可能更好爬取。
这里写图片描述
这里写图片描述

我们打开手机端后发现确实手机端并没有那么复杂,也没有什么随机数之类的,所以我们决定在手机端进行操作
这里写图片描述
这里写图片描述
这里写图片描述

具体代码如下:

# coding=utf-8
import requests
import json

headers={"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"}
url = "http://fanyi.baidu.com/basetrans"

while True:
    home_page = input("请选择需要的功能:1.中文翻译英文 2.英文翻译中文:")
    if home_page == '1':
        query_sys = input("请输入需要翻译的内容:")
        datas = {
            "query":query_sys,
            "from":"zh",
            "to":"en",
        }

    elif home_page == '2':
        query_sys = input("请输入需要翻译的内容:")
        datas = {
            "query":query_sys,
            "from":"en",
            "to":"zh",
        }

    else:
        print('由于你的瞎鸡儿输入,系统决定死给你看')


    response = requests.post(url,data=datas,headers=headers)
    # print(r.content.decode())
    dict_ret = json.loads(response.content.decode())
    ret = dict_ret["trans"][0]["dst"]
    print("翻译结果为 :",ret)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值