4种Python爬虫(3. 微信小程序,如,超级猩猩)

上一篇我们通过H5网页爬取了数据,可以越来越多的公司连H5网页都不提供,只提供了微信小程序,本文我们来试试怎么爬取。

目录:
1. PC网页爬虫
2. H5网页爬虫
3. 微信小程序爬虫
4. 手机APP爬虫

三、微信小程序

1. 目标场景

爬取超级猩猩的课表,该平台仅提供了微信小程序这一个途径,前面两种针对html网页的爬取方式都不再适用。


2. 场景分析

采用抓包分析是我们制定方案的第一步。

怎么抓包?

我用的Mac电脑,fiddler只有一个简化版,所以另找了Charles这个类似的软件。启动Charles的代理,在手机WIFI中设置好对应的代理就可以开抓了。但是,抓到的https包的内容都是乱码,咋办?

怎么抓https包?

Charles中提供了ssl证书,在手机端安装证书即可。推荐使用iPhone,直接安装描述文件即可。Android手机必须使用系统版本在7.0以下的才行,7.0以上还需要反编译什么的,太麻烦了。

抓包结果

很容易的定位到了超级猩猩微信小程序载入课表的后台接口。拿这个URL在浏览器里访问试试,直接返回了json结果!超级猩猩很友好!



提取对应的URL,放到浏览器中验证,也可以支持返回json包,剩下就是分析一下这个json的数据结构,按照需要的方式导出了。


3. 方案思路

  1. 使用requests库访问接口地址;
  2. 解析返回的json包,提取数据;(超猩返回的数据包分为课程的头表和子表,每个字段的属性的中文都有对应的map表,需要耐心的分析一下数据包)
  3. 修改接口地址的参数,分别查询各个城市的课表;
  4. 请留意这个接口采用https加密连接,需处理证书的警告;urllib3.disable_warnings()

4. 关键代码

import requests
from requests.packages import urllib3

urllib3.disable_warnings()    # 屏蔽https的证书警告

reqURL = 'https://busi.supermonkey.com.cn/wxClass/getClassSelectList5'
cityList = ['南京市', '杭州市', '上海市', '武汉市', '北京市', '广州市', '深圳市', '成都市']
for cityName in cityList:
    pars = {'city': cityName}
    resp = requests.get(reqURL, params=pars, verify=False)
    smdata = json.loads(resp.text)['data']
    classHeader = smdata['main']['scheduleList']  # 课程头表
    classDetail = smdata['scheduleSmallMap']  # 课程详情子表
    classMap = smdata['classinfoSmallMap']  # 课程参数
    coachMap = smdata['trainerSmallMap']  # 教练参数
    storeMap = smdata['boxinfoSmallMap']  # 门店参数

    # 具体json解析,请参考源代码

5. 爬取结果

直接通过接口的爬取效率非常高,几秒钟就拉取了全国各个门店的排课,相当舒心。(下图的录屏没有进行加速)


脚本执行录屏

爬取结果

最后一个挑战就是对只有Android/iOS的APP端应用数据的爬取。请看下一章


四、手机APP爬虫

请点击:<下一页>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容

  • 前文介绍的都是爬取web网页的内容,随着移动互联网的发展,有很多企业并没有提web网页端的服务,而是开发了app来...
    逆向与爬虫的故事阅读 6,688评论 2 34
  • 基础知识 HTTP协议 我们浏览网页的浏览器和手机应用客户端与服务器通信几乎都是基于HTTP协议,而爬虫可以看作是...
    腩啵兔子阅读 1,478评论 0 17
  • 01 缘起 小时候读《三国演义》,对诸葛孔明的"木牛流马"羡慕不已。它不吃不喝,还特别适合在山地行走运粮。上坡时,...
    赵老师有话说阅读 748评论 0 2
  • 那一个晚上,也是差不多的深宵时分。朋友圈里看到懂生活会享受的大美女发这张图,我冲口而出:马卡蛋糕。大美女很快就回复...
    有书共鸣阅读 669评论 0 0
  • 冬季的小雨带有那一丝丝的寒意,走在路上的行人急匆匆的人来人往。有的带着个保暖带有的戴上了手套,有的穿上了厚厚的毛衣...
    书辅阅读 174评论 0 0