最近有朋友推荐了一个很简单的须要 js 逆向的网站 中国土地市场网javascript
主要是须要获取下面的信息css
首先固然是抓包分析返回的数据 或者直接将连接放到代码里面,将响应内容打印出来。 若是同样的话说明直接就能获取到,不然的话可能就是对网页进行了处理等html
上面是用代码请求返回的响应 html 中嵌入了 JS,并且极可能作了跳转,由于有个 location 的变量java
下面是经过 Chrome 浏览器抓包的过程 通过了两次跳转python
其中重定向的连接是在第一次请求返回的响应里面,用 JS 生成的浏览器
so, 咱们将返回的 JS 扣出来,在本地调试下bash
其中有些用不到的参数,直接注释掉 好比参数 curlocation 是当前页面的 href,没有用到,反而会给咱们调试增长阻碍 由于咱们没有 window 这个对象微信
运行这段 JS,直接生成咱们所需的参数cookie
从抓包中咱们能够得知总共有三次清求 其中第一次和第二次都会生成验证的 cookiesession
因此咱们也用代码模拟三次请求 代码以下:
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")
复制代码
最后咱们看下可否提取出数据 结果一目了然!