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

作者: IT派森 | 来源:发表于2019-08-16 22:47 被阅读5次

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

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

分析

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

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

破解

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

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

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

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

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

验证

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

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

在学习过程中有什么不懂得可以加我的
python学习交流扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
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学习扣qun:784758214,看看前辈们是如何学习的!交流经验!自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地

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

相关文章

网友评论

    本文标题:Python爬虫进阶之JS逆向土地市场网

    本文链接:https://www.haomeiwen.com/subject/otxcsctx.html