美团店铺数据抓取 token解析与生成
美团、点评网的token都是用一套加密算法,实际上就是个gzip压缩算法。加密了2次,第一次是加密了个sign值,然后把sign值带进去参数中进行第二次加密,最后得出token
- 分析请求
打开上海美食, Network 抓包看一下,可以看到一个请求: getPoiList?cityName=XXXXX, 其中返回的就是我们想要的数据
我们打开这个请求看一下, 都有哪些参数
其中, uuid 和 _token是我们需要注意的
我们全局搜索一下 uuid 的值 , 发现uuid 就在我们当前页面返回的结果中, 我们可以直接拿来用
_token 参数 是经过加密后的结果, 是有时效性的, 所以接下来我们要解析它
2.解析Token
美团token的加密算法比较简单,
- 加密: 二进制压缩, base64编码
- 解密: base64解码, 二进制解压
定义解析token的方法
def decode_token(token):
# base64解码
token_decode = base64.b64decode(token.encode())
# 二进制解压
token_string = zlib.decompress(token_decode)
return token_string
然后获取美团的token,调用decode_token方法进行解析:
eJxdjltvgkAQhf/LvkpkF3eFmvRBqqJYlAXxQuPDclGwogirCE3/e9fUvjSZ5JyZ8+VkvkAxiU
APQfgCoQRucQF6ALVhuwskwEuREFV5hFqXICSB8N9NJRIIiuUA9D40UaAq3e3j4Ij9A2E
MJVG7lX6tpqpbScFiHsxEICDhPC97slwm7SxO+ZWd2uE5k4Uvk1QWLwCBZguBCv18Kn
sq/9st8bNgy3R/Ei42q+PBQ5eq6dMkbrmJz2p/XmH9nU5WznIaNZ3+XS/GtG7Mw5CN1u
m48xZmOi2xA5ka31v2SzDpO3ZRNWy/0Hf1gMibaV+9ZfiWkQ5xjwYxrItHcboeWJfCmy
bEsOvu9O6k8dHS/HI9w9cyjjQYRxvdpfnQZgFdWriZrS6jsEbehmWLpvAD7uK91zJpwHy
tFdLd+q043eemV+8OnWWVE04QwzjKbWMcRGcbWePVPljImxuXUc5nK0OBSqCZzB1Z
r+D7Bx2Uick=
{
"rId": 100900,
"ver": "1.0.6",
"ts": 1571759551178,
"cts": 1571759551234,
"brVD": [387, 726],
"brR": [
[1440, 900],
[1440, 877], 24, 24
],
"bI": ["https://sz.meituan.com/meishi/c227/", ""],
"mT": [],
"kT": [],
"aT": [],
"tT": [],
"aM": "",
"sign": "eJwdjU1KBDEQhe8yiyzzR/e0CFnIrASZnQcok+qZwk7SVCoDehYvIS48kZ7D4Op9PN7PARjhMQWrIggO8H5RkeTtDBnD7/fnz8eXSlQK8qn2Ig8iPFKq7kK5t1NNGJxVlelC5Zm3cBXZ270x7V1nJOlQdKzZDG5XMnHMG7XDZbSGsIzd4PxR7RvIWjkPm6m9PuENt8GtsgTVG/6f9k4pHFdv07LGF/R+WlyCdQLt5sXN891sJ+201fbwB3meSgc="
}
其中 ts 就是时间戳参数, cts = ts + 1000, sign(sign同样经过压缩+base64编码,用上面的解码函数能看到sign参数,sign参数基本都是一些get提交的参数,都可以在页面源码找到), 其它参数保持不变即可
3.测试结果
可以看到, 能够拿到正确的数据
至此,解析token和生成token的过程已经讲解完毕,如果你觉得笔者写得还不错,请点个赞!
美团店铺数据抓取 token解析与生成的更多相关文章
- 汽车之家店铺数据抓取 DotnetSpider实战[一]
一.背景 春节也不能闲着,一直想学一下爬虫怎么玩,网上搜了一大堆,大多都是Python的,大家也比较活跃,文章也比较多,找了一圈,发现园子里面有个大神开发了一个DotNetSpider的开源库,很值得 ...
- 汽车之家店铺数据抓取 DotnetSpider实战
一.背景 春节也不能闲着,一直想学一下爬虫怎么玩,网上搜了一大堆,大多都是Python的,大家也比较活跃,文章也比较多,找了一圈,发现园子里面有个大神开发了一个DotNetSpider的开源库,很值得 ...
- Android登录client,验证码的获取,网页数据抓取与解析,HttpWatch基本使用
大家好,我是M1ko.在互联网时代的今天,假设一个App不接入互联网.那么这个App一定不会有长时间的生命周期,因此Android网络编程是每个Android开发人员必备的技能.博主是在校大学生,自学 ...
- 大众点评评论数据抓取 反爬虫措施有css文字映射和字体库反爬虫
大众点评评论数据抓取 反爬虫措施有css文字映射和字体库反爬虫 大众点评的反爬虫手段有那些: 封ip,封账号,字体库反爬虫,css文字映射,图形滑动验证码 这个图片是滑动验证码,访问频率高的话,会出 ...
- Java实现多种方式的http数据抓取
前言: 时下互联网第一波的浪潮已消逝,随着而来的基于万千数据的物联网时代,因而数据成为企业的重要战略资源之一.基于数据抓取技术,本文介绍了java相关抓取工具,并附上demo源码供感兴趣的朋友测试! ...
- 使用Python中的urlparse、urllib抓取和解析网页(一)(转)
对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...
- python3爬虫再探之豆瓣影评数据抓取
一个关于豆瓣影评的爬虫,涉及:模拟登陆,翻页抓取.直接上代码: import re import time import requests import xlsxwriter from bs4 imp ...
- [nodejs,expressjs,angularjs2] LOL英雄列表数据抓取及查询显示应用
新手练习,尝试使用angularjs2 [angularjs2 数据绑定,监听数据变化自动修改相应dom值,非常方便好用,但与传统js(jquery)的使用方法会很不同,Dom操作也不太习惯] 应用效 ...
- 数据抓取分析(python + mongodb)
分享点干货!!! Python数据抓取分析 编程模块:requests,lxml,pymongo,time,BeautifulSoup 首先获取所有产品的分类网址: def step(): try: ...
随机推荐
- Bitset改进你的程序质量
1:Bitset介绍 BitSet 是用于存储二进制位和对二进制进行操作的 Java 数据结构, 此类实现了一个按需增长的位向量.位 set 的每个组件都有一个 boolean 值.用非负的整数将 B ...
- DJango配置mysql数据库以及数据库迁移
DJango配置mysql数据库以及数据库迁移 一.Django 配置MySQL数据库 在settings.py中配置 import pymysql # 配置MySQL pymysql.install ...
- 使用canvas生成含有微信头像的邀请海报没有微信头像
最近做了一个微信内访问的H5页面,长按分享图片发送朋友邀请的海报,网上搜索资料,得出解决思路,用canvas将页面绘制生成图片, 问题:canvas 图片跨域. 解决过程(填坑历程): 1.从网上存在 ...
- HTML5远程工具
因为有从网页直接远程其他windows电脑的需求,于是通过网上搜索找到下面几个解决方案,分享一下: 1.windows的远程桌面web连接tsweb 下载地址https://www.microsoft ...
- 当前机器的各种进程、服务信息的收集(win)
当前机器的各种进程.服务信息的收集(win) 前言 我们在做渗透测试的过程中,遇到Windows系统的环境是最多的,然而在拿到一台Windows胸膛呢权限之后,我们要进行横向渗透测试或者纵向渗透测试, ...
- 懒要懒到底,能自动的就不要手动,Hibernate正向工程完成Oracle数据库到MySql数据库转换(含字段转换、注释)
需求描述 需求是这样的:因为我们目前的一个老项目是Oracle数据库的,这个库呢,数据库是没有注释的,而且字段名和表名都是大写风格,比如 在代码层面的po呢,以前也是没有任何注释的,但是经过这些年,大 ...
- nginx::配置https/反向代理
vim /etc/nginx/nginx.conf user nginx; worker_processes ; error_log /var/log/nginx/error.log warn; pi ...
- jmeter-定时器使用
在一般性能测试过程中,往往在前一个请求之后等待一段时间再执行下一个请求,这时会用到定时器. 以下列举常用的3中: 1.固定定时器: 2.
- Visual Studio各版本及数据库各版本下载地址
1.Visual Studio 2019下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/ 2.Visual Studio 2017\ ...
- 《HTML5+CSS3+JavaScript 从入门到精通(标准版)》学习笔记(二)
这是一个应用的例子,学以致用嘛 <!--这些代码我就直接放在了博客园的"页首Html代码"中,用于自定义博客,效果就是页面左上角的白色文字--> <p> & ...