学习日记:Python爬虫-1

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

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

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

代码如下

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib.request
import urllib.parse
import json

url = ‘http://fanyi.youdao.co/translate?smartresult=dictsmartresult=rule‘
data = {‘i‘:‘I love you‘,
‘from‘:‘AUTO‘,
‘to‘:‘AUTO‘,
‘smartresult‘:‘dict‘,
‘client‘:‘fanyideskweb‘,
‘salt‘:‘15818581248059‘,
‘sign‘:‘16181e788bc7f326f5a3665a11dc1764‘,
‘ts‘:‘1581858124805‘,
‘bv‘:‘bbb3ed55971873051bc2ff740579bb49‘,
‘doctype‘:‘json‘,
‘version‘:‘2.1‘,
‘keyfrom‘:‘fanyi.web‘,
‘action‘:‘FY_BY_REALTlME‘}

i = input("What do you want to translate?:\n")
data[‘i‘] = i#传入要翻译的内容
data = urllib.parse.urlencode(data).encode(‘utf-8‘)#编码
response = urllib.request.urlopen(url,data)#post
html = response.read().decode(‘utf-8‘)#解码为utf-8
target = json.loads(html)#json解码
print(target[‘translateResult‘][0][0][‘tgt‘])#打印翻译内容

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

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

相关推荐