开发工具

Python版本:3.6.4
相关模块:

requests模块;

pyqt5模块;

js2py模块;

以及一些Python自带的模块 。

环境搭建

安装Python并添加到环境变量 ,pip安装需要的相关模块即可。

原理简介

首先随便翻译个词测试一下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SLHX5mI6-1617028653097)(https://upload-images.jianshu.io/upload_images/2539976-3ba807ee2528831a?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

发现是post请求,请求头是这样的:

需要添加的数据是这些:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fUCAmEGZ-1617028653102)(https://upload-images.jianshu.io/upload_images/2539976-d34068688fbf91af?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

测试之后可以发现请求头只需要添加:

Cookie即可。

Data只需要添加:

query,

simple_means_flag,

sign,

token即可 。

其中simple_means_flag为固定量,query代表待翻译的词 ,接下来需要解决的就是破解sign和token这两个参数 。先说token吧 ,token可以直接在百度翻译主页的源码里找到:

但是貌似因为时间戳不同步所以直接请求百度翻译的主页获取到的token是用不了的,所以只能人为地把网页当前显示的token值复制下来然后赋值给代码里的token。

接下来再说说sign,sign是由一段js代码产生的 ,如下图所示(index_9b62d56.js中):

在python中用execjs执行这段js代码即可获得我们所需要的sign值,计算sign值的过程中需要用到一个名为gtk的变量的值,直接请求百度翻译的主页即可获取该值:

于是我们就可以愉快地写代码实现百度翻译的内容爬取功能了:

然后写个简单的Demo:

文章到这里就结束了 ,感谢你的观看,关注我每天分享Python模拟登录系列,下篇文章分享制作一款简单的翻译软件。

为了感谢读者们 ,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们 。

干货主要有:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫 、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

All done~完整源代码+干货详见个人简介或者私信获取相关文件。。

文章来源于网络 ,如有侵权请联系站长QQ61910465删除
本文版权归趣KUAI排www.SEOguruBlog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ→61910465