zoukankan      html  css  js  c++  java
  • 学习日记:Python爬虫-1

    这几天在b站看小甲鱼的python3教程,照着写了个有道翻译的程序

    代码中字典data中的内容,用浏览器审查元素,先随便输一个要翻译的,找到跳出来的post的那个网址,看formdata就行了

    返回的是json格式的,故需解码

    代码如下

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 import urllib.request
     4 import urllib.parse
     5 import json
     6 
     7 url = 'http://fanyi.youdao.co/translate?smartresult=dictsmartresult=rule'
     8 data = {'i':'I love you',
     9 'from':'AUTO',
    10 'to':'AUTO',
    11 'smartresult':'dict',
    12 'client':'fanyideskweb',
    13 'salt':'15818581248059',
    14 'sign':'16181e788bc7f326f5a3665a11dc1764',
    15 'ts':'1581858124805',
    16 'bv':'bbb3ed55971873051bc2ff740579bb49',
    17 'doctype':'json',
    18 'version':'2.1',
    19 'keyfrom':'fanyi.web',
    20 'action':'FY_BY_REALTlME'}
    21 
    22 i = input("What do you want to translate?:
    ")
    23 data['i'] = i#传入要翻译的内容
    24 data = urllib.parse.urlencode(data).encode('utf-8')#编码
    25 response = urllib.request.urlopen(url,data)#post
    26 html = response.read().decode('utf-8')#解码为utf-8
    27 target = json.loads(html)#json解码
    28 print(target['translateResult'][0][0]['tgt'])#打印翻译内容

    作用:直接翻译输入的内容,不需要打开浏览器了

    注意:这里变量url中的网站本来带了 _o 这个玩意儿,不删会报错,不晓得原因QAQ

  • 相关阅读:
    java基础之分辨final,static, abstract
    HTML DOM
    Zero Copy-转载201604
    Zero Copy
    java 虚拟机
    Spring Junit4
    【转】Java的序列化和反序列化总结
    【转】SQL Server 查询处理中的各个阶段(SQL执行顺序)
    【转】linux sar命令详解
    【转】linux top命令详解
  • 原文地址:https://www.cnblogs.com/vhhi/p/12319039.html
Copyright © 2011-2022 走看看