drimwai的博客

手把手教你做app爬虫(二、app爬虫实例讲解)

## 前言:这个post,博主会分享一些关于app爬虫的内容。爬虫的步骤一般为抓包(获取规则)和爬取(根据规则,自动获取对应信息)。上个post已经分享环境的搭建,这个post博主根据一个实例对app爬虫进行详细讲解

 

## 注意事项:众所周知,爬虫是一项敏感的技术。所以,在学习之前我们必须知道哪些行为是违法的。这里博主总结了四点不能干

### 1. 不能爬取用户信息

### 2. 不能爬取非公开的隐藏信息

### 3. 不能直接商用爬取的信息

### 4. 不能干扰app或者网站的正常运行

 

## 搭建环境:

### 1. 操作系统: Windows 8.1

### 2. 抓包工具:fiddler

### 3. 安卓手机模拟器:夜神模拟器6.2.7.0(有版本要求)

### 4. 实例app:盈球大师

### 5. Pycharm for mac

** 所有用到的软件都可以在下载专页中下载哦

 

## 需求:

假设我们要对盈球大师app中所有的足球的数据进行分析。如果我们自己打开app查看,然后自己归纳进excel也是可行的。但是,这将会消耗大量的时间,特别在足球数据非常多的情况下。更糟糕的是,随着数据的更新,我们需要不断地重复这个过程。所以,我们需要用爬虫代替我们进行数据的采集。而且,爬虫还能对数据很好地进行后续处理。

 

### 1. 打开fiddler。同时,在夜神模拟器下进入盈球大师app,进入如下页面,获取足球的比赛总数和比赛队伍的简单信息。

1581050754173755.png

 

### 2. fiddler中找到对应的包(离你打开页面时最近的那个包),进行规则分析,并找到如下内容:

#### 发送请求的url

1581050791418120.png

#### 发送请求的json参数

1581050803193243.png

#### 找到返回包中返回的总数,然后根据总数再遍历出所有的比赛ID和相关信息

1581050811120890.png

 

### 3. 针对规则来写python抓取的代码

// 引入对应的包
import json
import queue
import requests
import re
import csv
import codecs
 
// 获取比赛总数
url = 'http://sport.ttyingqiu.com/sportdata/f?agentId=2335083&platform=android&appVersion=6.0.0'
headers = {'Content-Type': 'application/json'}
d = json.dumps({"verifyStr": "", "apiName": "getMatchListByDate", "pageNo": 1, "simple": 1, "pageSize": 20, "oddsCompany": 0, "game": 0})
response = requests.post(url, headers=headers, data=d)
result = response.text
totalcount = re.findall(r'"totalCount":(.*?),', result)  //通过正则获得比赛总数
// 获取全部比赛的ID和简单比赛信息
d = json.dumps({"verifyStr": "", "apiName": "getMatchListByDate", "pageNo": 1, "simple": 1, "pageSize": totalcount[0], "oddsCompany": 0, "game": 0})
response = requests.post(url, headers=headers, data=d)
result = response.text
matchIds = re.findall(r'"matchId":(.*?),', result)  //全部比赛IDs
oddsAsias = re.findall(r'"oddsAsia":"(.*?);(.*?);', result)  //对应的比分预测

 

### 4. 接下来我们想获取每个比赛的详细数据分析如下所示:

1581050847203041.png 1581050873665175.png

 1581050902121764.png

#### 基本思路:我们找到对应的包。然后分析所需的发送链接和获取时需要用到的规则。接着,根据我们在前面步骤获得的IDs,遍历地获取出所有的信息。最后,我们便可以把获取出来的所有信息都制成一个excel表格。

#### 好处:通过这个python的爬虫,我们可以随时在极短时间内获得所有的比赛信息。并可以对这些比赛信息进行后续的算法分析,从而得到比赛的预测结果。

#### 所有的代码(包括后续的代码和前面给出的代码)可以在下面的下载链接,或者下载专页打赏下载哦。您的支持是对我最大的鼓励。


## 实现效果展示(如果清晰度不够,请移步bilibili观看哦。)

drimwai的博客
drimwai的博客
使用条款和私隐条款。版权所有,保留一切权利。
Copyright by drimwai Liang (2018-2020). All Right Reserved.