zoukankan      html  css  js  c++  java
  • Python爬虫教程-实现百度翻译

    使用python爬虫实现百度翻译功能
    python爬虫实现百度翻译: python解释器【模拟浏览器】,发送【post请求】,传入待【翻译的内容】作为参数,获取【百度翻译的结果】

    通过开发者工具,获取发送请求的地址

    提示: 翻译内容发送的请求地址,绝对不是打开百度翻译的那个地址,想要抓取地址,就要借助【浏览器的开发者工具】,或者其他抓包工具

    下面介绍获取请求地址的具体方法
    以Chrome为例

    打开百度翻译:http://fanyi.baidu.com/
    【点击右键】>【检查】>【network】(如果是火狐浏览器,点击【网络】)
    点击【XHR】项,(有些需要刷新,有些异步的请求不需要刷新)
    在页面【输入翻译的词汇】
    在XHR项下,查找包含【输入需要翻译的词汇】的请求
    查看请求的参数,需要【点击请求】>【Headers】>最下面的【Form Data】
    (这里有一个坑:我们会发现有多个sug项,其实是因为百度翻译只要每输入一个字母就会发送一次请求,所以虽然多个请求的地址都是一样的,但是只有最后一个sug项的参数才是最后的词汇)

    操作截图 :

    请求地址在这里

     

    献上实现的代码

    直接上代码,具体步骤下载注释上了

    不会配置环境,安装python的包,请参考下一篇:
    https://i-beta.cnblogs.com/posts/edit-done;postId=11945465
    py05bdfanyi.py文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py05bdfanyi.py

     1 # python爬虫实现百度翻译
     2 # urllib和request POST参数提交
     3 # 缺少包请自行查看之前的笔记
     4 
     5 from urllib import request,parse
     6 import json
     7 
     8 def fanyi(keyword):
     9     base_url = 'http://fanyi.baidu.com/sug'
    10 
    11     # 构建请求对象
    12     data = {
    13         'kw': keyword
    14     }
    15     data = parse.urlencode(data)
    16 
    17     # 模拟浏览器
    18     header = {"User-Agent": "mozilla/4.0 (compatible; MSIE 5.5; Windows NT)"}
    19 
    20     req = request.Request(url=base_url,data=bytes(data,encoding='utf-8'),headers=header)
    21     res = request.urlopen(req)
    22 
    23     # 获取响应的json字符串
    24     str_json = res.read().decode('utf-8')
    25     # 把json转换成字典
    26     myjson = json.loads(str_json)
    27     info = myjson['data'][0]['v']
    28     print(info)
    29 
    30 if __name__=='__main__':
    31     while True:
    32         keyword = input('请输入翻译的单词:')
    33         if keyword == 'q':
    34             break
    35         fanyi(keyword)

    代码运行

      

     如果还有问题未能得到解决,搜索887934385交流群,进入后下载资料工具安装包等。最后,感谢观看!

  • 相关阅读:
    Django跨域问题
    DOM,jquery,vue
    from和modelform的用法和介绍
    元类的__call__和__new__方法的作用
    Django学习之路由分发和反向解析
    Django 自定义auth_user
    Django创建对象的create和save方法
    Flask--(登录注册)抽取视图函数
    Flask--(项目准备)--添加日志
    Flask--(项目准备)--框架搭建,配置文件抽取,业务逻辑抽取
  • 原文地址:https://www.cnblogs.com/pypypy/p/11945379.html
Copyright © 2011-2022 走看看