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)

      

  • 相关阅读:
    JAVA应用apache httpclient探测http服务
    C#中字符串与byte[]相互转换
    C#中位、字节等知识
    #JAVA操作LDAP
    C#正则表达式判断字符串是否是金钱
    【IDEA】使用Maven骨架创建JavaWeb项目
    【IDEA】回退操作记录
    【SpringMVC】IDEA 不识别webapp的解决办法
    【Layui】16 表单元素 Form
    【Layui】15 日期时间选择器 Laydate
  • 原文地址:https://www.cnblogs.com/wxlblogs/p/7169767.html
Copyright © 2011-2022 走看看