zoukankan      html  css  js  c++  java
  • 关于有道翻译加密数据分析

    这几天刚学了爬虫,就想找几个网站练练手,因为平时经常用翻译,就找到了有道翻译

    有道翻译的翻译方式分为两种,一种是直接输入文字上去,自动翻译,另一种是输入文字之后手动提交

    无论是哪种方式的提交,提交的方式都是发送ajax请求

    通过不断的提交,发现只有4个参数是不断变化的,通过在页面源码找不到对应的变化值,就能猜测到是由js动态生成的

    既然已经知道了这些数据是由js动态生成的,那我们就找到对应的js文件

    找js文件的方式大体有三种,这里就给大家稍微介绍一下

    - 通过发送请求的Initiator

    - 利用请求上的参数,进行全局搜索

    - 通过文本输入框或者单击事件,找到对应的js脚本执行

    这里就废话不多说了,已经找到了,然后我们找到请求上的参数,对js文件进行全局搜索,找到关键的提交位置

    可以清楚的看到,那些动态变化的值都是来自r中的属性,我们要知道r是怎么来的,在图片的最上方有关于r的定义,其中是调用了generateSaltSign(n)方法
    既然有方法的调用,一直就有方法的定义,我们通过全局搜索generateSaltSign,找到了方法的定义

    因为这里的js函数比较简单,我就不用python第三方模块进行js模拟了,直接通过纯python来模拟数据

    最后通过构造类型的数据,进行post的请求

    值得注意的是,这里的请求不仅仅要加UA和cookie,还有referer要添加

    一切准备好之后,当当当,成功拿到数据了

  • 相关阅读:
    VS2019删除大量空白行或者缩进大量空白行
    VS219 没有.net core 3.0模板
    Win10怎么添加开机启动项?Win10添加开机自动运行软件三种方法
    Unity 屏幕坐标到UGUI RectTransform本地坐标的转换
    MySQL 常用帮助信息
    CentOS 7 系统初始化
    JDK 安装部署
    centos7 yum install redis
    Redis5.0.3单机版安装
    shell 脚本检测端口状态
  • 原文地址:https://www.cnblogs.com/williamweson/p/12778721.html
Copyright © 2011-2022 走看看