js 爬虫抓取网页数据(某团没事商铺数据的获取,主要是一个_token的解密JS地址 )

优采云 发布时间: 2022-01-04 08:23

  js 爬虫抓取网页数据(某团没事商铺数据的获取,主要是一个_token的解密JS地址

)

  文章内容

  私信小编01可以获得大量Python学习资料

  前言

  这周有很多事情,我采访了一家公司。它被认为是成功的。薪水比现在的薪水高,但我会继续努力。前几天发现几个反了网站 还没解决,脑子挺大的,哎,就是因为js太复杂了,把代码扣了又扣,所以要补对于 JS。

  这次是从某群的okshop获取数据,主要是_token的解密JS

  地址链接:aHR0cHM6Ly9oei5tZWl0dWFuLmNvbS9tZWlzaGkv

  一、页面分析

  开启开发者模式抓数据链,本次请求的主要加密参数为_token,uuid可从源码获取

  

  二、_token解密

  搜索_token,出来直接点进去,然后再搜索,可以找到加密位置,点断点再次请求

  

  调试进去,可以看到主要的加密功能

  

  最后一步就是扣他加密的JS,我试着扣了,哎,不行,我还是太傻了,解压不了完整的,怎么办? ? ?

  三、获取加密方式

  这个时候怎么办?直接把他的JS代码拉出来就行了。它是一个带三个参数的匿名函数。

  

  那么其中_token加密参数就是方法中的第一个字典参数,key是17

  

  我们在外面声明一个全局变量var data;

  

  最后我们执行的时候可以看到_token出来了

  

  四、索取源码

  import requests,json,execjs

with open('./new.js',encoding='utf-8') as f:

js_func = execjs.compile(f.read())

_token = js_func.eval('data')

print(_token)

headers = {

'Connection': 'keep-alive',

'Accept': 'application/json',

'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36',

'Sec-Fetch-Site': 'same-origin',

'Sec-Fetch-Mode': 'cors',

'Sec-Fetch-Dest': 'empty',

'Referer': 'https://hz.meituan.com/meishi/pn2/',

'Accept-Language': 'zh-CN,zh;q=0.9',

}

params = (

('cityName', '杭州'),

('cateId', '0'),

('areaId', '0'),

('sort', ''),

('dinnerCountAttrId', ''),

('page', '1'),

('userId', ''),

('uuid', 'dc27c2b094a34e0a9c63.1605940296.1.0.0'),

('platform', '1'),

('partner', '126'),

('originUrl', 'https://hz.meituan.com/meishi/pn1/'),

('riskLevel', '1'),

('optimusCode', '10'),

('_token', _token),

)

response = requests.get('https://hz.meituan.com/meishi/api/poi/getPoiList', headers=headers, params=params)

js_data = json.loads(response.text)

print(response.text)

for data in js_data['data']['poiInfos']:

print(data['title'],data['address'],data['poiId'])

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线