zoukankan      html  css  js  c++  java
  • Python爬虫进阶——Request对象之post请求案例分析【百度翻译】


    作为进阶的最后一篇,我们就讲个有意思点的案例吧——百度翻译。

    一、分析URL接口

    正如上一篇:《Python爬虫进阶——Get请求》讲到的:当我们进行爬虫开发的时候,首先要做的,就是分析URL接口。

    1. 打开百度翻译;

    2. F12;

    3. 开发者工具中点击“暂停”和“清空”;
      在这里插入图片描述

    4. 输入“python”,并选中如图的“sug”请求;
      在这里插入图片描述

    5. 点击“Headers”,可以查看到图中圆圈中的信息;
      在这里插入图片描述

    二、代码实现

    baidu_fanyi.py
    import urllib.request as ur
    import urllib.parse as up
    
    # 实例化data
    data = {
        'kw': 'python'
    }
    # data编码
    data_url = up.urlencode(data)
    
    request = ur.Request(
        url='https://fanyi.baidu.com/sug',
        # 不仅仅url编码,还需encode转成字节
        data=data_url.encode('utf-8'),
    )
    
    response = ur.urlopen(request).read()
    print(response)
    
    输出如下:

    在这里插入图片描述
    注意:
    输出结果为字节类型,为json对象,还需使用loads方法。

    三、代码抽离和完善

    import urllib.request as ur
    import urllib.parse as up
    import json
    
    word = input('请输入要翻译的英文:')
    # 实例化data
    data = {
        'kw': word
    }
    # data编码
    data_url = up.urlencode(data)
    
    request = ur.Request(
        url='https://fanyi.baidu.com/sug',
        # 不仅仅url编码,还需encode转成字节
        data=data_url.encode('utf-8'),
    )
    
    response = ur.urlopen(request).read()
    # print(response)
    
    ret = json.loads(response)
    # print(ret)
    translate = ret['data'][0]['v']
    print(translate)
    
    输出如下:

    在这里插入图片描述
    OK啦~~
    简直完美。
    天色已晚,明天再写《Python爬虫实战篇》吧。



    为我心爱的女孩~~


  • 相关阅读:
    asp后台读id设置样式
    js,需要更多源字符
    列名无效
    asp,对待绑定数据加序号列(DataSet)
    ashx 绝对路径得到物理路径
    方法执行一次js
    小细节
    Spring oauth大致流程
    第六章 分支语句和逻辑运算符
    第七章 函数
  • 原文地址:https://www.cnblogs.com/WoLykos/p/12095204.html
Copyright © 2011-2022 走看看