• Python爬虫爬取百度翻译之数据提取方法json


    工具Python 3.6.5、PyCharm开发工具、Windows 10 操作系统

    说明:本例为实现输入中文翻译为英文的小程序,适合Python爬虫的初学者一起学习,感兴趣的可以做英文翻译为中文的功能,如单词查询功能等。推荐使用谷歌浏览器或火狐浏览器检查元素。使用之前需要先安装模块:pip install request    pip install json。

    数据提取方法:json

    1、数据交换格式,看起来像Python类型(列表,字典)的字符串

    2、使用json之前需要导入

    3、json.loads

      (1)、把json字符串转化为Python类型

      (2)、json.loads(json字符串)

    4、json.dumps

      (1)、把Python类型转化为json字符串

      (2)、json.dumps({})

      (3)、json.dumps(ret1,ensure_ascii=False,indent=2)

        ensure_ascii让中文显示成中文

        indent:能够让下一行在上一行的基础上空格

    代码

     1 import requests
     2 import json
     3 url = "https://fanyi.baidu.com/basetrans"
     4 
     5 query_str = input("请输入要翻译的中文:")
     6 
     7 data = {
     8         "query":query_str,
     9         "from":"zh",
    10         "to":"en"}
    11 
    12 headers = {
    13         "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",
    14 
    15         "Referer": "https://fanyi.baidu.com/?aldtype=16047&tpltype=sigma"
    16 }
    17 
    18 response = requests.post(url,data=data,headers=headers)
    19 
    20 html_str = response.content.decode()#json字符串
    21 
    22 #json数据交换格式,使用json之前需要导入
    23 #把json字符串转化为Python类型
    24 dict_ret = json.loads(html_str)
    25 #print(dict_ret)
    26 #print(type(dict_ret))
    27 ret = dict_ret["trans"][0]["dst"]
    28 print("翻译结果是:",ret)

    运行效果

  • 相关阅读:
    Pytorch手写线性回归
    numpy+sklearn 手动实现逻辑回归【Python】
    如何用TensorFlow实现线性回归
    进程、线程和携程的通俗解释【刘新宇Python】
    即时通信WebSocket 和Socket.IO
    gRPC【RPC自定义http2.0协议传输】
    Django中MySQL事务的使用
    模拟电磁曲射炮_H题 方案分析【2019年电赛】【刘新宇qq522414928】
    Gitflow工作流
    雪花算法【分布式ID问题】【刘新宇】
  • 原文地址:https://www.cnblogs.com/wyuzm/p/9713447.html
Copyright © 2020-2023  润新知