2019-06-30中国裁判文书网数据爬虫更新,PYTHON

5 篇文章 0 订阅
3 篇文章 0 订阅

#首次写博客
中国裁判文书网

2019-09-25
这次又更新了一个版本,换汤不换药~~pass

2019-06-30依旧可用。

从2018年8月7日网站更新后,网上代码全军覆没不可用,着手研究了下。


2018年9月22日/23日开放docid解析api。

docid解析api

更新2018年8月20日

这两天文书网又动手脚了,更新了7道反爬措施。佩服这工程师啊,改动这么频繁~
更新了7道反爬措施

  1. 主要用到的就是unzip,com.str.Decrypt,结合起来运行js;缺什么函数就补什么函数,主要的还是Decrypt中的_key需要获取来解密。

更新于2018年9月8日/9月14日

又双叒叕更新了,又是周五,成心不让休息啊,大哥。
不过,这次属于新瓶装旧酒,恢复了一些功能。
其它跟8月7日差不多。

分析

思路主要通过python去破解网站js的加密数据。该网站请求数据都是通过post请求的,分析一下header,会发现,它是一个post请求,请求的表单数据包括param、index、page、order、direction、vl5x、number、guid这几个参数。很显然,param是查询字符串,index是页码,page是一页展示的数据量,order是排序方式,其中,vl5x、number、guid是js代码加密生成得可变参数。一次性向对方服务器发送请求后获取相应得数据得。

这里写图片描述

  1. vl5x是对大多数人来说是最难获取的。
    涉及到js代码的混淆,相比之前的复杂的多。
    浏览器分析得到如下代码
    这里写图片描述

看到这些代码,爬虫新手一下就懵逼了~~~orz

这就是js代码的混淆,谷歌一下js反混淆,就能得到正常的js代码,python运用PyExecJs调用getKey函数就能得到vl5x。

with open(r'D:\source\wenshu_spider\getKey.js') as fp:
        js = fp.read()
        ect=execjs.compile(js)
        vl5x=ect.call('getKey','a3e88e89affa632c001fc18bb990d3c02eaf9c7d')
        print(vl5x)

第一大难题至此解决。

  1. guid参数,guid是一个随机生成的参数,也是调用js即可;这个之前的代码也可以用;

  2. number参数,post参数guid到GetCode即可。
    这里写图片描述


程序运行过程中提取的数据(2018年9月8日)。
这里写图片描述
这里写图片描述

##TODO

想写的太多了,慢慢来(大坑)
……


已爬取8800万条裁判文书数据,有需要数据的伙伴可以(。・∀・)ノ゙嗨前台QQ7900-44912。

提取到EXCEL,主要字段如下:
这里写图片描述

评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值