zoukankan      html  css  js  c++  java
  • python3网络爬虫实现有道词典翻译功能

    首先,在谷歌浏览器搜索有道词典,进入有道词典,点击页面顶端的翻译。

    进入翻译界面,在翻译界面输入你好:

    接着,鼠标右键选择检查:

    进入页面,找到下面这个表

    接下来引入urllib包中的request和parse模块:

          URL:全球资源定位器(Uniform Resource Locator)

          urllib.request: for opening and reading URLs

          urllib.parse: for parsing URLs

          json:用字符串的格式把python的数据结构封装起来 

    Form data: post提交的主要内容

    data = { }

    实现过程中主要用到的几个函数:

          data = urllib.parse.urlencode(data).encode('utf-8')    (utf-8是python的编码形式)

          response = urllib.request.urlopen(url, data)

          html = response.read().decode('utf-8')

          target = json.loads(html)

    实现过程如下:

     1 import urllib.request
     2 import urllib.parse
     3 import json
     4 
     5 url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule&sessionFrom=https://www.baidu.com/link'
     6 data = {}
     7 data['i'] = '你好'
     8 data['from'] = 'AUTO'
     9 data['to'] = 'AUTO'
    10 data['smartresult'] = 'dict'
    11 data['client'] = 'fanyideskweb'
    12 data['salt'] = '1499958412421'
    13 data['sign'] = '68ccf3c733cabfa095ee5dffc9dc56f9'
    14 data['doctype'] = 'json'
    15 data['version'] = '2.1'
    16 data['keyfrom'] = 'fanyi.web'
    17 data['action'] = 'FY_BY_CL1CKBUTTON'
    18 data['typoResult'] = 'true'
    19 data = urllib.parse.urlencode(data).encode('utf-8')
    20 
    21 response = urllib.request.urlopen(url, data)
    22 html = response.read().decode('utf-8') 
    23 #print(html)
    24 target = json.loads(html)
    25 
    26 tmp = target['translateResult'][0][0]['tgt']
    27 print(tmp)

      

  • 相关阅读:
    nginx启动报错nginx: [error] open() "/usr/local/etc/nginx/logs/nginx.pid" failed
    JS实现斐波那契数列的几种方法
    CSS选择器有哪些?选择器的优先级如何排序?
    JS将扁平化的数据处理成Tree结构
    OpsAny-项目资源管理-cmdb表创建
    python异常的处理
    Linux系统安装java jdk
    mysql binlog日志解析
    MySQL 数据备份与同步
    linux下shell脚本中sed命令的用法
  • 原文地址:https://www.cnblogs.com/wxlblogs/p/7169767.html
Copyright © 2011-2022 走看看