Python爬虫:抓取手机APP的数据!谁说不能爬取app数据的?

以某乎为实战案例,教你用Python爬取手机App数据!居然有人说爬不了APP! 最近爬取的数据都是网页端,今天来教大家如何爬取手机端app数据(本文以ios苹果手机为例,其实安卓跟ios差不多)! 本文将以『某乎』为实战案例,手把手教你从配置到代码一步一步的爬取App数据! 2、配置抓包工具 1.安装软件 【资料领取】本文选择的抓包工具:Fiddler 具体的下载安装这里不详细赘述!(网上搜Fiddler安装,一大堆教程),本文以实战为例,就不再这里浪费时间了! 2.配置Fiddler 安装好之后,接下来就开始配置Fiddler工具(这里是关键,仔细阅读!) 配置Con 阅读详情

摘要

大多数APP里面返回的是json格式数据,或者一堆加密过的数据 。这里以超级课程表APP为例,抓取超级课程表里用户发的话题。

1

抓取APP数据包

 

 

 

表单:

 

 

 

表单中包括了用户名和密码,当然都是加密过了的,还有一个设备信息,直接post过去就是。

 

另外必须加header,一开始我没有加header得到的是登录错误,所以要带上header信息。

 

2

登录

 

登录代码:

 

import urllib2   
from cookielib import CookieJar   
loginUrl = 'http://120.55.151.61/V2/StudentSkip/loginCheckV4.action'   headers = {   
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',   
    'User-Agent': 'Dalvik/1.6.0 (Linux; U; Android 4.1.1; M040 Build/JRO03H)',   
    'Host': '120.55.151.61',   
    'Connection': 'Keep-Alive',   
    'Accept-Encoding': 'gzip',   
    'Content-Length': '207',   
    }   
loginData = 'phoneBrand=Meizu&platform=1&deviceCode=868033014919494&account=FCF030E1F2F6341C1C93BE5BBC422A3D&phoneVersion=16&password=A55B48BB75C79200379D82A18C5F47D6&channel=MXMarket&phoneModel=M040&versionNumber=7.2.1&'   
cookieJar = CookieJar()   
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar))   
req = urllib2.Request(loginUrl, loginData, headers)   
loginResult = opener.open(req).read()   
print loginResult

登录成功 会返回一串账号信息的json数据

 

 

和抓包时返回数据一样,证明登录成功

 

3

抓取数据

 

    用同样方法得到话题的url和post参数

  

  做法就和模拟登录网站一样。详见:http://my.oschina.net/jhao104/blog/547311

    下见最终代码,有主页获取和下拉加载更新。可以无限加载话题内容。

 

#!/usr/local/bin/python2.7   # -*- coding: utf8 -*-   """   
  超级课程表话题抓取   
"""   import urllib2   
from cookielib import CookieJar   
import json   


''' 读Json数据 '''   def fetch_data(json_data):   
    data = json_data['data']   
    timestampLong = data['timestampLong']   
    messageBO = data['messageBOs']   
    topicList = []   
    for each in messageBO:   
        topicDict = {}   
        if each.get('content', False):   
            topicDict['content'] = each['content']   
            topicDict['schoolName'] = each['schoolName']   
            topicDict['messageId'] = each['messageId']   
            topicDict['gender'] = each['studentBO']['gender']   
            topicDict['time'] = each['issueTime']   
            print each['schoolName'],each['content']   
            topicList.append(topicDict)   
    return timestampLong, topicList   


''' 加载更多 '''   def load(timestamp, headers, url):   
    headers['Content-Length'] = '159'   
    loadData = 'timestamp=%s&phoneBrand=Meizu&platform=1&genderType=-1&topicId=19&phoneVersion=16&selectType=3&channel=MXMarket&phoneModel=M040&versionNumber=7.2.1&' % timestamp   
    req = urllib2.Request(url, loadData, headers)   
    loadResult = opener.open(req).read()   
    loginStatus = json.loads(loadResult).get('status', False)   
    if loginStatus == 1:   
        print 'load successful!'   
        timestamp, topicList = fetch_data(json.loads(loadResult))   
        load(timestamp, headers, url)   
    else:   
        print 'load fail'   
        print loadResult   
        return False   loginUrl = 'http://120.55.151.61/V2/StudentSkip/loginCheckV4.action'   topicUrl = 'http://120.55.151.61/V2/Treehole/Message/getMessageByTopicIdV3.action'   headers = {   
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',   
    'User-Agent': 'Dalvik/1.6.0 (Linux; U; Android 4.1.1; M040 Build/JRO03H)',   
    'Host': '120.55.151.61',   
    'Connection': 'Keep-Alive',   
    'Accept-Encoding': 'gzip',   
    'Content-Length': '207',   
    }   

''' ---登录部分--- '''   
loginData = 'phoneBrand=Meizu&platform=1&deviceCode=868033014919494&account=FCF030E1F2F6341C1C93BE5BBC422A3D&phoneVersion=16&password=A55B48BB75C79200379D82A18C5F47D6&channel=MXMarket&phoneModel=M040&versionNumber=7.2.1&'   
cookieJar = CookieJar()   
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar))   
req = urllib2.Request(loginUrl, loginData, headers)   
loginResult = opener.open(req).read()   
loginStatus = json.loads(loginResult).get('data', False)   
if loginResult:   
    print 'login successful!'   else:   
    print 'login fail'   
    print loginResult   

''' ---获取话题--- '''   
topicData = 'timestamp=0&phoneBrand=Meizu&platform=1&genderType=-1&topicId=19&phoneVersion=16&selectType=3&channel=MXMarket&phoneModel=M040&versionNumber=7.2.1&'   
headers['Content-Length'] = '147'   
topicRequest = urllib2.Request(topicUrl, topicData, headers)   
topicHtml = opener.open(topicRequest).read()   
topicJson = json.loads(topicHtml)   
topicStatus = topicJson.get('status', False)   
print topicJson   
if topicStatus == 1:   
    print 'fetch topic success!'   
    timestamp, topicList = fetch_data(topicJson)   
    load(timestamp, headers, topicUrl)

结果:

 

 

python 手机app数据爬取 今天向大家介绍app爬取。 文章目录一:爬取主要流程简述二:抓包工具Charles1.Charles的使用2.安装(1)安装链接(2)须知(3)安装后3.证书配置(1)证书配置说明(2)windows系统安装证书配置(3)Android手机安装证书配置4.开启SSL监听5.原理6.抓包三:抓包工具mitmproxy(免费的)1.简介2.关联组件3.安装和证书配置(1)用pip安装(2)在GitHu... 阅读详情

相关推荐

Python爬虫采集抓取:Python3.x+Fiddler 采集抓取 APP 数据

随着移动互联网的市场份额逐步扩大,手机 APP 已经占据我们的生活,以往的数据分析都借助于爬虫采集爬取网页数据进行分析,但是新兴的产品有的只有 APP,并没有网页端这对于想要提取数据的我们就遇到了些问题,本章以豆果美食 APP 为例给大家演示如何利用Python爬虫采集抓取提取手机APP数据。具体教程如下: 一、安装 Fiddler Fiddler 官网下载地址:http://www....

云度 6823

教你用Python爬取手机App数据!居然有人说爬不了APP

由于目前大部分APP都是https加密,包括本文实战『某乎』案例也是https加密,因此配置HTTPS,来抓取https数据包!最近爬取的数据都是网页端,今天来教大家如何爬取手机端app数据(本文以ios苹果手机为例,其实安卓跟ios差不多)!(网上搜Fiddler安装,一大堆教程),本文以实战为例,就不再这里浪费时间了!重启Fiddler!安装好之后,接下来就开始配置Fiddler工具(这里是关键,仔细阅读!

Daydream的博客 2万+

python爬取手机app图片_python 手机app数据爬取

今天向大家介绍app爬取。@一:爬取主要流程简述1.APP的爬取比Web爬取更加容易,反爬虫没有那么强,且大部分数据是以JSON形式传输的,解析简单。2.在APP中想要查看请求与响应(类似浏览器的开发者工具监听到的各个网络请求和响应),就需要借助抓包软件。3.在抓取之前,需要设置代理将手机处于抓包软件的监听下,就可以用同一网络进行监听,获得所有的网络和请求。4.如果是有规则的,就只需要分析即可;如...

weixin_39813009的博客 3555

Python爬虫:抓取手机APP的数据

1、抓取APP数据包 方法详细可以参考这篇博文:http://my.oschina.net/jhao104/blog/605963 得到超级课程表登录的地址:http://120.55.151.61/V2/StudentSkip/loginCheckV4.action ...

chenxuan5849的博客 9267

python3爬虫实战(二):用Appium抓取手机app微信的数据

一、前言 上一篇小说爬的是电脑端的静态网址,一直想爬手机端app数据的抓取,研究有好几天了,在网上也找了各种教程,差点挂在appium的环境安装。本编教程从appium的环境配置开始到抓取手机app微信朋友圈结束。 二、参考博文 以下网址对于这篇教程非常重要,感谢分享 悠悠博主appium+python环境搭建:https://www.cnblogs.com/yoyoketa...

Fan_shui的博客 1万+

利用Python爬取爬取APP上面的数据

​ 前言 在我们在爬取手机APP上面的数据的时候,都会借助Fidder来爬取。今天就教大家如何爬取手机APP上面的数据。 环境配置 1、Fidder的安装和配置 下载Fidder软件地址:https://www.telerik.com/download/fiddler 然后就是傻瓜式的安装,安装步骤很简单。在安装完成后,打开软件,进行如下设置: 默认的8888端口 为解决初学者学习上的困难,专门建立的Python学习扣QUN:⑧⑤⑤-④零⑧-⑧⑨③从零基础开始到Python各领域的项目实战教程、开发工具与.

python入门学习进阶教程 2830

利用Python爬虫抓取手机APP的传输数据

大多数APP里面返回的是json格式数据,或者一堆加密过的数据 。这里以超级课程表APP为例,抓取超级课程表里用户发的话题。

weixin_55154866的博客 2508

Python爬虫入门教程 42-100 爬取儿歌多多APP数据-手机APP爬虫部分

1. 儿歌多多APP简单分析 今天是手机APP数据爬取的第一篇案例博客,我找到了一个儿歌多多APP,没有加固,没有加壳,没有加密参数,对新手来说,比较友好,咱就拿它练练手,熟悉一下Fiddler和夜神模拟器是如何配合着使用的。 儿歌多多APP在豌豆荚的下载量还是可以的,一家做内容的APP。 2. APP安装和使用 APP直接去下载APK包就可以了,拖拽到夜神模拟器就安装成功了。在模拟器打开出现如...

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1万+

python爬虫深度嵌套爬取所有手机信息

本爬虫代码详细代码和解释在github:https://github.com/chenhanwu1998/python-climb-mobile-information.git ,一下展开讨论。 一、首先找到对应的手机排行网站http://top.zol.com.cn/compositor/57/manu_attention.html, 爬取其品牌,品牌综合评分,占有率,好评率以及价格区间还有手机...

qq_44079295的博客 6301

修复ASUS in WinRE教程

暑假入手了天选三,发现是win11家庭版,本来想着家庭版将就一下无所谓,结果在使用的过程中发现相较于专业版真的是不能比,于是自己就重装了系统,发现ASUS in WinRE入口不见了,折腾半天最后成功修复。

weixin_46202629的博客 1万+

Spacedesk保姆级教程:用旧平板给Windows电脑当副屏,从安装到避坑一步到位

本文提供Spacedesk保姆级教程,教你如何将旧平板变成Windows电脑的副屏,从软件安装到网络配置、显示优化及声音交互,一步步避开常见陷阱。通过WiFi实现扩展屏功能,支持4K分辨率和60Hz刷新率,让闲置设备焕发新生。

weixin_42524945的博客 1万+

Python爬虫实战:手机APP数据抓取分析!谁说不能爬取app数据的?

大多数手机APP里面返回的是json格式数据,或者一堆加密过的数据 。这里以超级课程表APP为例,使用python抓取超级课程表里用户发的话题。主要是练习python爬取app的一些方式和技巧。 1、抓取APP数据包 表单: 抓取手机APP数据 表单中包括了用户名和密码,当然都是加密过了的,还有一个设备信息,直接post过去就是。 另外必须加header,一开始我没有加header...

码在天涯 5316

旋转矩阵推导

推导前提: 坐标使用右手坐标系,角度逆时针旋转为正。 绕X轴旋转角度为 俯仰角 即Pitch 绕Y轴旋转角度为 偏航角 即Yaw(Head) 绕Z轴旋转角度为 翻滚角 即Roll 一、平面二维坐标点的旋转 如右图所示,根据三角函数关系,可以列出向量OP与OP’的坐标表示形式: x = |OP|•cosα x′ = |OP|•cos(α+β) y = |OP|•sinα y′ = |OP|•sin(α+β) 将P′(x′,y′)表达式展开: x′ =

suixinger_lmh的随笔 1384

python爬虫可以爬app么_Python爬虫:抓取手机APP的数据!谁说不能爬取app数据的?...

摘要大多数APP里面返回的是json格式数据,或者一堆加密过的数据 。这里以超级课程表APP为例,抓取超级课程表里用户发的话题。1抓取APP数据包表单:表单中包括了用户名和密码,当然都是加密过了的,还有一个设备信息,直接post过去就是。另外必须加header,一开始我没有加header得到的是登录错误,所以要带上header信息。2登录登录代码:import urllib2from cookie...

weixin_33623134的博客 2192

如何产生ATPG IR-drop分析波形文件(DFT)

摘要:本文介绍了生成VCD波形的流程与要求,主要用于后端进行IR-drop分析。生成过程分为ATPG shift和speed ATPG capture两部分,分别对应不同的输入要求、模式设置和仿真参数。

murphyrong的博客 872

【VS2017】“LNK1104 cannot open file ‘python39_d.lib‘ “

记录一下编译调用了python代码的C语言源程序时遇到的问题 版本:以python3.9.1为例 先确保你安装了python的debug版本,如果没有,用对应版本安装包可以修改已经安装的python,如图。 选择 “Modify” 选择next 确保最后一项勾选,然后install。 光安装了还不够,需要配置一下C语言编译器。 以VS2017为例: 将python37_d.lib(在安装目录下的libs文件夹里有python39_d.lib)所在文件夹的路径添加到库目录里面,右键你的解决方案,选.

m0_46296905的博客 6478

Python爬虫:爬取手机App数据,记得安装配置Charles

目录Python爬虫配置Charles设置手机代理服务器安装证书安装PC证书安装Android手机证书 Python爬虫 对于现在的爬虫程序来说,PC端网页数据往往并不理想。比如就拿优快云来说,一篇帖子是否上热榜其根据的是App端数据,并不是PC端网页数据。 这也是时代的进步,从PC端到移动端,而且还有像小红书一样的App,其根本不提供PC端网页,只有App,要爬取这些数据,普通的Python爬虫肯定已经淘汰。 所以,我们需要借助Charles来抓取手机的HTTP与HTTPS数据包。尽然要通过Charle

李元静 1万+

BW 技术 InfoObject 初始化,一次把 0LANGU、0CURRENCY、0IOBJNM 这些底座对象讲透

摘要:BW/4HANA和S/4HANA嵌入式分析中最容易被忽视的关键技术InfoObject(如0LANGU、0UNIT等)是系统运行的基础骨架。这些对象虽不直接涉及业务,但若未正确激活会导致多维分析、查询运行等核心功能异常。BW/4HANA中应通过任务清单SAP_BW4_SETUP_SIMPLE或SAP_BW4_SET_OPERATION_SCOPE激活,而非旧事务码RSTCO_ADMIN。S/4HANA嵌入式分析仍需依赖这些底层BW组件,配置需参考SAP Note 2636754。项目实践中需特别关注这

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1390

以某乎为实战案例,教你用Python爬取手机App数据

1前言最近爬取的数据都是网页端,今天来教大家如何爬取手机端app数据(本文以ios苹果手机为例,其实安卓跟ios差不多)!本文将以『某乎』为实战案例,手把手教你从配置到代码一步一步的爬取A...

cainiao_python的博客 2万+

Google Earth Engine(GEE)——全球影像数据正确下载方式和注意事项

今天看到有人担心全球影像能不能下载的问题? 有时候我们会用到全球的数据,但是如何下载全球的数据呢? 首先如果没有全球的矢量边界我们会不会无法下载全球的数据,答案当然是可以的,因为我们在边界筛选的过程中filterBounds(),就是为了筛选边界,当我们不进行边界筛选的时候,自然而然默认的边界范围就是全球的,但是紧接着会面临其他两个问题:1如何下载?2如何在不缩小分辨率的情况下下载成功? 对于第一个问题我们如何下载?还是按照正常的逻辑利用export直接倒出到Google硬盘当中, 代码:

此星光明博客 3773

2024届数字IC秋招-华为机试-数字芯片-笔试真题和答案(五)(含2022年和2023年)

此部分包含华为机试真题,方向是数字芯片,内容详细包括设计、验证、后端等,大部分题目给出参考答案。华为机试都是从题库里抽题目,所以这些题目还是很有参考性的,甚至是完全一样,可以搜到的。(题目内容较多,将分开编写几个文章)

qq_42135020的博客 2083

22.网络爬虫—APP数据抓取详讲

🧾 🧾Fiddler是一款免费的Web调试代理工具,也是目前最常用的“HTTP”抓包工具之一,它可以截取HTTP/HTTPS流量并且允许你查看、分析和修改这个流量。Fiddler在Web开发和测试中非常有用,因为它可以帮助你检查Web应用程序的性能、调试网络问题和安全漏洞。它还提供了一个可扩展的架构,使得它可以通过插件支持其他功能。Fiddler可用于Windows 、macOS 和Linux等多种操作系统。安装包提取链接,免费分享给大家:通过链接下载后,是一个压缩包 🎯对压缩包进行解压之后,一个是安

weixin_50804299的博客 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

这可能是你见过的最全的网络爬虫总结

从抓取、解析、存储、反爬、加速五个方面介绍利用 Python 进行网络爬虫开发的相关知识点和技巧,讲解不同场景下如何采取不同措施高效地进行数据抓取的方法。

华为云官方博客 3707

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【爬虫】学习:App数据的爬取

python3网络爬虫开发实战第二版——12 App数据的爬取 Charles 配置环境 教程 1 基础设置:抓包工具Charles:(二)Charles的代理设置(windows,app)_闫振兴的博客-优快云博客_charles设置windows代理 2 证书设置:抓包工具Charles:(三)https协议的抓取_闫振兴的博客-优快云博客 参考:Charles安装与配置 配套视频:软件测试教程Charles抓包工具测试实战_哔哩哔哩_bilibili Charles 抓包都是unknow

myaijarvis notebook 5275
上一篇: Python爬虫和反爬虫的斗争!掌握这个10K工作不是问题!
下一篇: Python 的一个脚本错误可能会废掉 150 多个项目!
PythonJavaPHP
博客等级 码龄7年 116粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值