打造自己专有的翻译网站!(逆向分析及网页打造)

不知道大家有没有和我一样喜欢DIY自己专有的软件,比如使用计算器可以符合自己常用的方式来设计界面;使用翻译软件也能按照自己的风格来做出翻译内容。今天就来记录一下如何制作一个符合自己特色的计算器。

内容设计

本次内容我想采用的方式是利用python模拟请求某道翻译,再结合pyqt将内容输入进去再返回在界面上。(中间可以有各种符合自己的元素设计)

谋道翻译的爬虫和逆向

一、抓到数据包以及加密的参数

从图中我们可以搜索之后由post请求返回来的包,表单数据如下,其中sign是特定的加密数据,也就是说我们能找到sign的生成函数之后加入请求数据之中即可得到翻译的数据内容。

二、通过逆向得到sign参数的值

post请求data内的数据加密,通过全局搜索参数名百分之90可以找到它的源函数。

这里全局搜索sign:之后发现一共就4个地方出现了,怎么办?全看一遍呗(不用费脑了)

最后发现仅有这两个地方是符合条件的

打上断电之后直接再次点击搜索,发现被断住了,并且在上面有一个f的赋值

随后我们把鼠标放在h(n)上,找到它的原函数

这便是加密函数了

这个就非常简单了,就是一个标准的md5加密的方式,不过注意的是它并非是直接将要翻译的数据拿来做md5加密。我们接着往下看。

它的值是web+带翻译内容+乱码的方式,因此我们进行跟栈分析一下。

分析得出这个待转换的值是由多个变量拼接而成的,我将鼠标移到对应的位置可以得出,这个n是由于web+待翻译内容+time+"Mk6hqtUp33DGGtoS63tTJbMUYjRrG1Lu"+md5("待翻译内容webdict")。所以我们就明白了这个sing在md5加密前的内容了。我们来测试一下

我们可以看到得出的结果是一样的,那么只需要再将这个结果md5加密一下边是sign的值了。

三、请求数据

在我们解出sign的加密数据之后,就可以结合python和调用execjs库的方法来实现与js的配合,从而完成数据的爬取了。

之后我们就能进行各种方式提取我们想要的数据了。例如

设计网页界面

我们现在已经能进行翻译的转换了,但我们毕竟是要做一个属于自己的东西,所以到这里是不够的,那么我们接下来可以制作一个小网站,后端来运行这个py文件,这里的网页框架我选择使用Flask。

一、对Flask网页进行搭建

这里就简单的写一个好了,主要是能实现爬虫文件和Flask框架的配合(好吧是我太懒了2333),首先需要按照Flask框架(pip install Flask),接着需要导入以下几个模块

from flask import Flask, render_template, request
from youdao import jiemi

首先我们导入了Flask类。 该类的实例将会成为我们的 WSGI 应用,render_template方法能实现渲染文件的调用,request会用于Http请求。jiemi是我上述爬虫文件的名字

这里我直接给上代码了,如果我们网页的请求方式是GET,则渲染"youdao.html"网页文件,如果是POST则返回翻译后的结果。

from flask import Flask, render_template, request
from youdao import jiemi
app = Flask(__name__)

@app.route('/index', methods=["POST", "GET"])
def index():
    if request.method == 'POST':
        name = request.form.get('content')
        print(name)
        return jiemi(name)
    else:
        return render_template('youdao.html')

if __name__ == '__main__':
    app.run(debug=1)

看一下效果

点击翻译之后

总结

本次案例主要是对某道翻译进行一次简单的逆向操作,并且分析了其逆向过程。再结合爬虫文件于Flask框架进行简单的整合,我知道网页设计的不好看,但可以自由发挥。要源码请与我联系

ILDD😘

  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值