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要添加

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

  • 相关阅读:
    yii中通过HTTP post接收
    网络编程
    python 异常处理
    面向对象(2)
    面向对象
    什么是模块精讲
    常用模块二
    各种推导式详解
    匿名函数
    迭代器生成器
  • 原文地址:https://www.cnblogs.com/williamweson/p/12778721.html
Copyright © 2011-2022 走看看