python3.0学习四 隐藏访问浏览器

''' 备注:这里是用head把访问主机的访问者User-Agent人为的设定 成浏览器访问。其中head也是一个字典 '''

import urllib.request
#parse解析
import urllib.parse
import json

content=input("请输入需要翻译的内容:")

url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null'

''' #这是一种方法,还可以用第二种方法。 head={} head['User-Agent']='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36' '''



data={}
data['type']='AUTO'



#data['i']="I love you"
#下面这个进行一般化 
data['i']=content

data['doctype']='json'
data['xmlVersion']='1.8'
data['keyfrom']='fanyi.web'
data['ue']='UTF-8'
data['action']='FU_BY_ENTER'
data['typoResult']='ture'

#encode硬编码
data=urllib.parse.urlencode(data).encode('utf-8')

#添加一个head用于隐藏程序访问




#这里有data参数就是post,没有就默认get形式提交

#第一种方法用
#req=urllib.request.Request(url,data,head)

#第二种方法用
req=urllib.request.Request(url,data)
#这里第二种方法
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36')


response=urllib.request.urlopen(req)
html=response.read().decode('utf-8')

#打印出来的是字典格式
#print(html)
target=json.loads(html)

#注意niaho:%s',%(targ里面的逗号是错误的
#print('niaho:%s',%(target['smartResult']['entries'][1]))

print("你查到的结果是: %s" %target['smartResult']['entries'][1])



#以下是运行结果
============== RESTART: C:\Users\Administrator\Desktop\niub.py ==============
请输入需要翻译的内容:linux
你查到的结果是: n. Linux操作系统(一种类似于UNIX的计算机操作系统)
>>> req.headers
{'User-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36'}
>>> 
============== RESTART: C:\Users\Administrator\Desktop\niub.py ==============
请输入需要翻译的内容:love
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\niub.py", line 43, in <module>
    req=urllib.request.Request(url,data,head)
NameError: name 'head' is not defined
>>> 
============== RESTART: C:\Users\Administrator\Desktop\niub.py ==============
请输入需要翻译的内容:你好、
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\niub.py", line 48, in <module>
    req=urllib.request.Request(url,data,head)
NameError: name 'head' is not defined
>>> 
============== RESTART: C:\Users\Administrator\Desktop\niub.py ==============
请输入需要翻译的内容:loce
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\niub.py", line 48, in <module>
    req=urllib.request.Request(url,data,head)
NameError: name 'head' is not defined
>>> 
============== RESTART: C:\Users\Administrator\Desktop\niub.py ==============
请输入需要翻译的内容:loce
你查到的结果是: 周家宇
>>> 

你可能感兴趣的:(python)