Python爬虫进阶之JS逆向土地市场网

前言

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

主要是须要获取下面的信息css

image

分析

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

响应

上面是用代码请求返回的响应 html 中嵌入了 JS,并且极可能作了跳转,由于有个 location 的变量java

破解

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

image

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

location

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

改正后的JS

其中有些用不到的参数,直接注释掉 好比参数 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")

复制代码

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

验证结果

推荐阅读

用python一键生成你的微信好友头像墙

pyecharts可视化和微信的结合

python数据可视化神器--pyecharts 快速入门

相关文章
相关标签/搜索