爬虫第十式:多线程爬取小米应用商店聊天社交类别

温馨提示:

爬虫玩得好,监狱进得早。数据玩得溜,牢饭吃个够。

《刑法》第 285 条,非法获取计算机信息系统数据罪。
       违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。

正文:
本章我们来介绍一个新的方式爬虫实用知识, 多线程 ,可能有人会问为什么不用多线程,这个其实说实话,多线程用的会多一点,进程用的少,多线程为主

应用场景

1】多进程:CPU密集程序
【2】多线程:爬虫(网络I/O)、本地磁盘I/O

创建 队列,等待线程进入

1】导入模块 
	from queue import Queue 
【2】使用 
	q = Queue()
	q.put(url) 
	q.get() # 当队列为空时,阻塞 
	q.empty() # 判断队列是否为空, True/False3】q.get()解除阻塞方式 
	3.1) q.get(block=False) 
	3.2) q.get(block=True,timeout=3) 
	3.3) if not q.empty(): 
			q.get()

创建线程模块

# 导入模块
from threading import Thread
 
# 使用流程 
t = Thread(target=函数名) # 创建线程对象 
t.start() # 创建并启动线程 
t.join() # 阻塞等待回收线程

# 如何创建多线程 
t_list = []

for i in range(5):
	t = Thread(target=函数名) 
	t_list.append(t) 
	t.start()
	
for t in t_list: 
	t.join()

现在我们分析一下小米应用商店的数据,先来打开看一下:
在这里插入图片描述
这个网站是一个动态加载的网站,我们上一个案例 豆瓣电影排行榜数据抓取
提到过,这样网站的特点以及怎么抓取数据,这里我们直接进行抓取,没必要观察URL地址的规律,因为响应内容不存在,我们直接 F12 就抓包就好了
在这里插入图片描述

我们先来刷新一下,然后点击下一页,多点两下,抓取几个包就够我们用了

在这里插入图片描述
这个就是我们抓取的异步的网络数据包,我们从表面就能看到,问好后面的page= 有0、1、2、3… 这个就是一个查询参数,那我们点开一个看看:

在这里插入图片描述
这个应该是,这是count有两千个应该是社交app的个数,下面我们也看到了各个应用app的名字,接下来我们换到Headers里面分析各个信息:

在这里插入图片描述

这里面我们分析到这个是一个GET请求,那是这样的请求的话我们就直接找URL、headers、Query String Parameters这三个东西,现在URL就是我们找到的框框里面的URL,headers就是Request Headers的信息,最后我们看一下Query Stri

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨旭华 

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值