最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python爬虫-抓取手机APP数据

来源:动视网 责编:小采 时间:2020-11-27 14:27:58
文档

Python爬虫-抓取手机APP数据

Python爬虫-抓取手机APP数据:抓取超级课程表话题数据。#!/usr/local/bin/python2.7 # -*- coding: utf8 -*- 超级课程表话题抓取 import urllib2 from cookielib import CookieJar import json ''' 读Json数据 '&
推荐度:
导读Python爬虫-抓取手机APP数据:抓取超级课程表话题数据。#!/usr/local/bin/python2.7 # -*- coding: utf8 -*- 超级课程表话题抓取 import urllib2 from cookielib import CookieJar import json ''' 读Json数据 '&


抓取超级课程表话题数据。

#!/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)
 data = load(timestamp, headers, topicUrl)
 if data:
 timestamp, topicList = fetch_data(data)

文档

Python爬虫-抓取手机APP数据

Python爬虫-抓取手机APP数据:抓取超级课程表话题数据。#!/usr/local/bin/python2.7 # -*- coding: utf8 -*- 超级课程表话题抓取 import urllib2 from cookielib import CookieJar import json ''' 读Json数据 '&
推荐度:
标签: app 数据 手机APP
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top