对爬取中国裁判文书网分析续篇1

中国裁判文书网参数分析之guid

需要看参数vl5x分析的,请点击这里。

  • 有多年爬虫经验的人大多能看出来
    类似于guid: 03e28594-c78d-e7980adf-69a6ec821994这种有’-'的是uuid加密的。

1.什么是uuid呢?
它是通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, 命名空间, 随机数, 伪随机数来保证生成ID的唯一性, 有着固定的大小( 128 bit ).
2.python中的uuid
python的uuid模块提供UUID类和函数uuid1(), uuid3(), uuid4(), uuid5() 来生成1, 3, 4, 5各个版本的UUID ( 需要注意的是: python中没有uuid2()这个函数). 对uuid模块中最常用的几个函数总结如下:
  1. uuid.uuid1([node[, clock_seq]]) : 基于时间戳
  2. uuid.uuid3(namespace, name) : 基于名字的MD5散列值
  3. uuid.uuid4() : 基于随机数
  4. uuid.uuid5(namespace, name) : 基于名字的SHA-1散列值
那么了解完uuid之后,回归正题。
要得到guid的值,只需在wenshu.py代码中添加

import uuid
guid = str(uuid.uuid1())

  • 要是之前不了解uuid的,也可以得到guid的值。方法如下:
    在这里插入图片描述
    ①在wenshu.js最下面定义一个函数:如上图一样
    function get_guid() { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); }
    ②在wenshu.py代码中添加
import execjs
js_content = open('wenshu.py的绝对路径', encoding='utf8').read()
guid = execjs.compile(js_content).call('get_guid') + execjs.compile(js_content).call('get_guid') + '-' + execjs.compile(js_content).call('get_guid')+ '-' + execjs.compile(js_content).call('get_guid') + execjs.compile(js_content).call('get_guid') + '-' + execjs.compile(js_content).call('get_guid') + execjs.compile(js_content).call('get_guid') + execjs.compile(js_content).call('get_guid')

形式就如上图一样:2个-1个-2个-3个,这样就得到了guid的值。
未完待续…接下来还有内容哟!

猜你喜欢

转载自blog.csdn.net/niuming_rui/article/details/82791580