怎么样python爬虫进行此网站爬取
就这个网站的书籍信息要如何爬取,我找到的接口里数据也不知道是不是加密,反正就是解不出来了
https://www.zk120.com/ji/content/566?uid=None&_=1513589893787
请教爬虫大佬 这样的内容要如何获取? 展开
是加密的,解密方法在JS里面可以弄出来。
首先要AES解密,可以【Python:import Crypto.Cipher.AES】包,解密mode是CFB,seed是"userId:"+uid+":seed"的SHA256值,解密的key是seed[0:24],iv是seed[len(seed)-16:]。
如果没有登录,uid就是用的"anyone",这时候的seed是"61581AF471B166682A37EFE6DD40FE4700EE337FEEEF65E2C8F203FCA312AAAB",也就是key为"61581AF471B166682A37EFE6",iv为"C8F203FCA312AAAB"。
解密后文件是压缩过的,解压即可得到一个JSON。这部分解压我没仔细看他的算法,好像是gzip,直接用【Python:import gzip】解压有点出错,可能没用对或者不是这个算法,你在研究一下。第二种投机的方法就是,可以通过【Python:import execjs】直接调用他的pako.js文件的JS的inflate()函数来解压这块。JS代码混淆后看起来是非常难懂的,使用这种做法可以不用太看懂加密的算法,效率当然写Python实现这个解密算法低1点咯。
最后的JSON再用【Python:import demjson】解析,text的value就是文档。