• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

【Python爬虫】:破解百度翻译结果

python 搞java代码 3年前 (2022-05-21) 13次浏览 已收录 0个评论

我们打开百度翻译,和chrome浏览器当中开发者工具,点击XHR查看Ajax请求。(我们通过观察得到“百度翻译”这个界面,每当我们输入一个字母,就会得到这个字母所对应翻译的结果,正好符合ajax请求的要求)。

Ajax请求:仅仅会对界面当中的某一部分进行刷新的网页,则使用了Ajax请求技术。

然后我在百度翻译当中输入”dog”,并打开我红色箭头已经标注好的其中有个名为“sug”的数据包,如下图所示:

 

 从中发现我们每输入一个字母,就会有一个数据包。从General当中分析可得到这是一个post请求,因此我们在爬虫的时候需要发起post请求来完成。

同时我们从from data出可以观察得到,我们发起的request的data为:kw:dog。

我们再打开response,查看返回数据的结果是什么:

 

 很显然,这是一个json字符串,我们直接使用json工具将得到响应数据保存为为json对象。

最后我们使用UA伪装,伪装成chrom浏览器发起爬虫,得到翻译结果,在代码当中我们也使用“dog”作为请求的data。完整代码如下:

<span>import</span><span> requests

post_url</span>=<span>"</span><span>https://fanyi.baidu.com/sug</span><span>"</span><span>
headers</span>=<span>{
    </span><span>"</span><span>User-Agent</span><span>"</span>:<span>"</span><span>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36</span><span>"</span><span>
}
data</span>=<span>{
    </span><span>"</span><span>kw</span><span>"</span>:<span>"</span><span>dog</span><span>"</span><span>
}
</span><span>#</span><span>使用post请求得到响应的数据</span>
response=requests.post(url=post_url,data=data,headers=<span>headers)
</span><span>#</span><span>获取json响应数据</span>
new_response=<span>response.json()
</span><span>print</span>(new_response)

www#gaodaima.com来源gaodaimacom搞#代%码网搞代码

得到输出:

{<span>"</span><span>errno</span><span>"</span>: 0, <span>"</span><span>data</span><span>"</span>: [{<span>"</span><span>k</span><span>"</span>: <span>"</span><span>dog</span><span>"</span>, <span>"</span><span>v</span><span>"</span>: <span>"</span><span>n. 狗; 蹩脚货; 丑女人; 卑鄙小人 v. 困扰; 跟踪</span><span>"</span>}, {<span>"</span><span>k</span><span>"</span>: <span>"</span><span>DOG</span><span>"</span>, <span>"</span><span>v</span><span>"</span>: <span>"</span><span>abbr. Data Output Gate 数据输出门</span><span>"</span>},......

得解!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【Python爬虫】:破解百度翻译结果

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址