根据前两章的内容,我们已经基本掌握爬虫的方式了。现在我们来具体操作一下如何爬取到百度翻译。
点击f12 再随便输入一个词语,可以看到下面有很多的请求,我们每一个都看一下 看哪一个请求是我们想要获取的请求。
对没错 就是这一条,有我们上传的参数,也有返回给我们的值。再看一下请求方式和 请求地址以及这个接口请求的内容类型
根据以上内容我们可以尝试是否可以获取到具体的信息
通过请求头和data 发送post请求
# 百度翻译
import requests
re_heard={
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36',
}
re_text={
"kw":"小狗"
}
content = requests.post('https://fanyi.baidu.com/sug',headers=re_heard,data=re_text).json()
print(content)
返回结果是:
很好 初步的请求成功了。现在再继续优化一下代码。把data的”kw“使用input输入,再导出”v“的翻译。
# 百度翻译
import requests
re_heard={
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36',
}
kw = input('请输入你要查询的单词')
re_text={
"kw":kw
}
content = requests.post('https://fanyi.baidu.com/sug',headers=re_heard,data=re_text).json()
for key in content['data']:
# print('我是key',key)
if key['k'] == kw:
print('翻译结果是',key['v'])
初步实现是这个样子,我们再再再优化一下 把这个放进死循环里面,无限次调用
# 百度翻译
import requests
re_heard={
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36',
}
while True:
kw = input('请输入你要查询的单词')
re_text = {
"kw": kw
}
content = requests.post('https://fanyi.baidu.com/sug', headers=re_heard, data=re_text).json()
for key in content['data']:
# print('我是key',key)
if key['k'] == kw:
print('翻译结果是', key['v'])
成功完成