JS破解&&Android逆向

Python爬虫之JS逆向入门篇

2019-05-29  本文已影响14人  GoPython

前言

最近有朋友推荐了一个很简单的需要 js 逆向的网站
中国土地市场网

主要是需要获取下面的信息

image

分析

首先当然是抓包分析返回的数据
或者直接将链接放到代码里面,将响应内容打印出来。
如果一样的话说明直接就能获取到,否则的话可能就是对网页进行了处理等

响应

上面是用代码请求返回的响应
html 中嵌入了 JS,而且很可能做了跳转,因为有个 location 的变量

破解

下面是通过 Chrome 浏览器抓包的过程
经过了两次跳转

image

其中重定向的链接是在第一次请求返回的响应里面,用 JS 生成的

location

so, 我们将返回的 JS 扣出来,在本地调试下

改正后的JS

其中有些用不到的参数,直接注释掉
比如参数 curlocation 是当前页面的 href,没有用到,反而会给我们调试增加阻碍
因为我们没有 window 这个对象

运行这段 JS,直接生成我们所需的参数

验证

从抓包中我们可以得知总共有三次清求
其中第一次和第二次都会生成验证的 cookie

所以我们也用代码模拟三次请求
代码如下:

def spider():
    response = session.get(url)

    text = response.text
    # f_js = re.findall("javascript\">(.*?)</script>", text)[0]

    ctx = execjs.compile(js)
    location = ctx.call("YunSuoAutoJump")
    second_url = "http://www.landchina.com" + location

    _ = session.get(second_url)

    res = session.get(url)

    selector = Selector(text=res)

    result = selector.css("#TAB_contentTable tr")[1:]
    td_list = result.css("td")

最后我们看下能否提取出数据
结果一目了然!

验证结果
上一篇 下一篇

猜你喜欢

热点阅读