Python爬虫爬取手机APP的数据
1、抓取APP数据包
方法详细可以参考这篇博文:http://my.oschina.net/jhao104/blog/605963
得到超级课程表登录的地址:http://120.55.151.61/V2/StudentSkip/loginCheckV4.action
表单:
表单中包括了用户名和密码,当然都是加密过了的,还有一个设备信息,直接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&' % timestampreq = 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 loadResultreturn FalseloginUrl = '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)
结果:
转载请注明来源:http://my.oschina.net/jhao104/blog/606922
Python爬虫爬取手机APP的数据相关推荐
- python 爬虫爬取统计局北京统计数据
python 爬虫爬取统计局统计数据 写在前面 主要因为朋友写论文,要爬取北京的经济数据.拜托我写一个爬虫爬取数据.爬取的都是公开的数据,代码仅供学习使用,切勿用作非法. http://tjj.bei ...
- Python爬虫-爬取手机应用市场中APP下载量
一.首先是爬取360手机助手应用市场信息,用来爬取360应用市场,App软件信息,现阶段代码只能爬取下载量,如需爬取别的信息,请自行添加代码. 使用方法: 1.在D盘根目录新建.tet文件,命名为Ap ...
- python爬虫——爬取喜马拉雅app
主要爬取喜马拉雅悬疑栏目的小说名字,演播者以及简介,先上爬取的数据图. 1. 此次抓取使用fiddler抓包,喜马拉雅的抓包很简单,这里就不多阐述. 通过对比两条的url可以发现只有ts-时间戳和pa ...
- python爬虫抓取数据的步骤-Python爬虫抓取手机APP的传输数据
大多数APP里面返回的是json格式数据,或者一堆加密过的数据 .这里以超级课程表APP为例,抓取超级课程表里用户发的话题. 1.抓取APP数据包 得到超级课程表登录的地址:http://120.55 ...
- python爬虫爬取天猫店铺商品数据
#!coding=utf-8 import requests import re import random import time import json from requests.package ...
- Python爬虫 爬取雪球网部分数据
import requests import jsonurl = {'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?s ...
- python爬app_Python爬虫抓取手机APP的传输数据
大多数APP里面返回的是json格式数据,或者一堆加密过的数据 .这里以超级课程表APP为例,抓取超级课程表里用户发的话题. 1.抓取APP数据包 方法详细可以参考这篇博文:Fiddler如何抓取手机 ...
- python爬虫app步骤_Python爬虫抓取手机APP的传输数据,python爬虫抓取app
Python爬虫抓取手机APP的传输数据,python爬虫抓取app 大多数APP里面返回的是json格式数据,或者一堆加密过的数据 .这里以超级课程表APP为例,抓取超级课程表里用户发的话题. 1. ...
- python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中
我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...
最新文章
- oop的三大特性和传统dom如何渲染
- CCNP-1 EIGRP基本配置(BSCI)
- PHP 的一些开发规范
- 关于CheckBoxList和RadioButtonList的几个问题
- CentOS 6.4 卸载与安装桌面
- 洛谷 P3102 [USACO14FEB]秘密代码Secret Code
- linux Hello World 模块编程
- 2016/9/23总结电脑内容
- 如何安装uclient_uclient软件
- GIMP教程 3 扭曲变换工具 (瘦脸 瘦腿)
- 【算法】合并两个有序链表
- excel复选框_使用复选框更改Excel公式结果
- 4维俄罗斯方块 java_烧脑的方块:解析“俄罗斯方块”4种不同的基础模块
- 移动硬盘插服务器上坏了,移动硬盘接口坏了怎么办解决教程
- 神箭手 爬虫操作(1)
- 计算机应用基础在线3,《计算机应用基础》第3阶段在线作业3.docx
- CString、CStringA 和 CStringW
- javac ‘javac‘ 不是内部或外部命令,也不是可运行的程序 的解决办法
- matlab 自动生成陷波滤波器算法实现
- c语言字母存储,字符串在内存中的储存——C语言进阶
热门文章
- document.documentElement与document.body
- Shiro登录的使用以及原理(一)
- SAR成像系列:【7】合成孔径雷达(SAR)成像算法-后向投影(Back Projecting)算法(附Matlab代码)
- php从照片中抠出人脸,PS怎样将一张图片上的人脸抠取五官下来到另一张图片
- 无线蓝牙耳机手机端app开发_汪峰耗时1500天造了一款耳机,秒杀苹果AirPods!
- LruCache的深入解析
- 浅析溯源(2):如何实现区块链溯源
- autoconf 版本升级
- Leetcode 1345 跳跃游戏 IV
- 【Linux】linux的vim文件怎么全选复制、粘贴