博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

学习日记: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?:\n")
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

posted @ 2020-02-16 22:05  EliotShen  阅读(200)  评论(0编辑  收藏  举报