爬取百度翻译_python
1.简介
准备考研复试的项目,想了想就先做了个简单爬虫,爬取百度翻译单词意思。
2.百度翻译开发平台
- 注册APPID
在百度翻译开发平台上进行注册,并选择开发者插入方式,得到appid,后续会用到。
2.开通服务
根据需要选择api服务,我这里使用的是通用api
3.request分析
-
进行简单的分析
进入百度翻译页面,使用F12进入开发者模式
进行简单的单词翻译
可以在右边的数据栏里找到一个v2transapi开头的数据,我们发现这里有目标译文。尝试解析headers,resoponse,发现关联。 -
查看开发者DEMO文档
在分析request后,回到百度翻译所给的demo(可以在百度翻译开发平台获取)
# coding=utf-8
import http.client
import hashlib
import urllib
import random
import json
appid = '' # 填写你的appid
secretKey = '' # 填写你的密钥
httpClient = None
myurl = '/api/trans/vip/translate'
fromLang = 'auto' #原文语种
toLang = 'zh' #译文语种
salt = random.randint(32768, 65536)
q= 'apple'
sign = appid + q + str(salt) + secretKey
sign = hashlib.md5(sign.encode()).hexdigest()
myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(
salt) + '&sign=' + sign
try:
httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
httpClient.request('GET', myurl)
# response是HTTPResponse对象
response = httpClient.getresponse()
result_all = response.read().decode("utf-8")
result = json.loads(result_all)
print (result)
except Exception