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)

      

  • 相关阅读:
    [Qt]《开发指南》3.1源码分析
    [c++] 头文件
    [Qt] 信号和槽
    [Qt] 编译问题
    [Qt] 项处理组件
    MYSQL 之 JDBC(十三):处理事务
    MYSQL 之 JDBC(十二): 处理Blob
    MYSQL 之 JDBC(十一): JDBC获取插入记录的主键值
    MYSQL 之 JDBC(十): JDBC的元数据
    MYSQL 之 JDBC(九):增删改查(七)DAO的补充和重构
  • 原文地址:https://www.cnblogs.com/wxlblogs/p/7169767.html
Copyright © 2011-2022 走看看