1.0 版本
#首先贴上结果,自动检测语言
对于这种需要提交数据的爬虫,最主要的就是获取form data了,具体的获取方式请参考
这里需要注意的是,同一个网站的表单的属性名可能会有变化,自己使用的时候需要注意,否则可能会导致结果不对,或者乱码什么的。
下面是基于python3.6.1版本的程序
# -*- coding: UTF-8 -*-
from urllib import request
from urllib import parse
import json
if __name__ == "__main__":
#Request URL
Request_URL = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
#创建Form_Data字典,存储得到的Form Data
Form_Data = {}
Form_Data['type'] = 'AUTO'
Form_Data['from'] = 'AUTO' #自动检测语言
Form_Data['to'] = 'AUTO'
Form_Data['smartresult'] = 'dict'
Form_Data['doctype'] = 'json'
Form_Data['version'] = '2.1'
Form_Data['keyfrom'] = 'fanyi.web'
Form_Data['action'] = 'FY_BY_REALTIME'
#使用urlencode方法转换标准格式
while 1:
Form_Data['i'] = input("请输入要翻译的内容:")
if Form_Data['i'].lower()=='exit':
print('已退出')
exit(0)
data = parse.urlencode(Form_Data).encode('utf-8')
#传递Request对象和转换完格式的数据
response = request.urlopen(Request_URL,data)
#读取信息并解码
html = response