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 快速入門

相關文章
相關標籤/搜索