文档详情

Python爬虫抓取手机APP的传输数据.pdf

发布:2018-05-23约7.98千字共5页下载文档
文本预览下载声明
Python爬虫抓取手机APP的传输数据 大多数APP里面返回的是json格式数据,或者一堆加密过的数据 。这里以超级课程表APP为例,抓 超级课程表里用户发 的话题。 1、、抓抓 APP数数据据包包 方法详细可以参考这篇博文:Fiddler如何抓 手机APP数据包 得到超级课程表登录的地址:1/V2/StudentSkip/loginCheckV .action 表单: 表单中包括了用户名和密码,当然都是加密过了的,还有一个设备信息,直接post过去就是。 另外必须加header,一开始我没有加header得到的是登录错误,所以要带上header信息。 2、登录 登登录录代代码码:: import urllib2 from cookielib import CookieJar loginUrl = http:// 1/V2/StudentSkip/loginCheckV .action headers = { Content-Type: application/x-www-form-urlencoded; charset=UTF-8, User-Agent: Dalvik/ 1.6.0 (Linux; U; Android .1.1; M0 0 Build/JRO03H), Host: 1, Connection: Keep-Alive, Accept-Encoding: gzip, Content-Length: 207, } loginData = phoneBrand=Meizuplatform= 1deviceCode 919 9 account=FCF030E1F2F63 1C1C93BE5 BBC 22A3DphoneVersion= 16password=A55B 8BB7582A18C5F 7D6channel=MXMarketphoneMo del=M0 0versionNumber=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参数 做法就和模拟登录网站一样。详见:Python爬虫模拟登录带验证码网站 下见最终代码,有主页获 和下拉加载更新。可以无限加载话题内容。 ? #!/usr/local/bin/python2.7 # -*- coding: utf8 -*- 1 2 超级课程表话题抓 3 import urllib2 5 from cookielib import CookieJar 6 import json 7 读Json数据 8 def fetch_data(json_data): 9 data = json_data[data] 10 timestampLong = data[timestampLong] 11 messageBO = data[messageBOs] 12 topicList = [] 13 for each in messageBO: 1 topicDict = {} 15 if each.get(content, False): 16 topicDict[content] = each[content] 17 topicDict[schoolName] = each[schoolName] 18 topicDict[messageId] = each[messageId] 19 topicDict[gender] = each[studentBO][gender] 20 topicDict[time] = ea
显示全部
相似文档