爬取小程序数据的方法可以依据不同的需求和技术水平有所不同。以下是一些基本步骤:

1. 确定数据需求

  • 明确需要爬取的数据类型,比如商品信息、评论、用户评价等。

2. 了解小程序的结构

  • 小程序一般使用了复杂的前端框架,建议先通过分析网络请求的方式了解其数据结构。

3. 法律合规性

  • 确保爬取行为符合相关法律法规以及小程序的使用条款,避免侵犯他人权益。

4. 采用合适的工具和技术

  • 网络抓工具:像 Fiddler 或 Charles,可以监视和分析网络请求,查看所需数据的API接口。
  • Python 爬虫库:如requests等。

5. 编写爬虫程序

  • 使用上述工具编写爬虫脚本,模拟浏览器请求,访问小程序背后的API。

6. 数据存储

  • 根据需要选择数据存储方式(如CSV、数据库等)来保存爬取到的数据。

7. 遵守网站的爬虫策略

注意尊重网站的 robots.txt 文件,避免过于频繁的请求。

8. 处理数据

  • 对爬取到的数据进行清洗和分析,提取有用信息。

下面我们以某生鲜小程序为例,看如何爬取:

一、我们以上图这个分类下的商品为目标,先打开小程序、抓包分析

得到数据接口,然后我们分析一下该接口,先请求一下看看。

response = requests.get(url, headers=headers, proxies=proxies, params=params)
# print(response.text)
data = response.json()['Data']['sourceData']
for item in data:
ProductName = item['ProductName']
PeriodMoney = item['PeriodMoney']
print(f"商品名称:{ProductName}价格:{PeriodMoney}")

可以看到数据已经出来了。下面就是将分类id、翻页id等找到,然后构建好请求参数再一一请求即可。

json_str = "{\"anchor\":102105,\"categoryId\":102941,\"direction\":1,\"offset\":\"\",\"orderDirectionType\":0,\"orderFieldType\":0,\"pageSize\":20}"

分析一下,categoryid就是分类id,offset应该是翻页用的。下一页offset应该是19或者20

下面抓包分析一下,下一个offset是19,那就是从0开始的。

我们构建好翻页以下,再请求看看有没有地方是加密的。

 

很顺利,可以翻页请求到数据。那么这个分类下的数据就解决了。说明这个小程序的请求端暂时没有发现有加密的地方,数据获取就相对简单一些。

存储:

# 保存数据到csv文件
with open('生鲜小程序data.csv', 'a', encoding='utf-8') as f:
f.write(f"{ProductName},{RecommendReason}, {PeriodMoney}, {DefaultMoney}\n")

抓取到的数据可以导出:

四季豆200g/份 白灼焖炒 | 脆嫩清爽 5.99 5.99
布丁甜白糯玉米3斤装 优质粗粮 | 软糯香甜 29.9 29.9
【绿行者】普罗旺斯礼盒装4.5斤/箱 儿时味道 | 精品大果 32.9 39.9
【食行优选】香菇炖农家老母鸡(一年)650g/份 农家老母鸡 | 新鲜宰杀 46.9 49.9
【提货卡】苏州特级手剥鸡头米(大颗粒)1.5斤礼盒装 特级手剥 | 精品礼盒 349 399
【煮着吃】鲜白果(银杏果)60g/份 秋季限定 | 炒煮皆宜 4.99 4.99
【推荐生吃】草莓番茄 儿时番茄味 | 推荐生吃 14.9 19.8
【开袋即食】西双版纳金银水果甜玉米礼盒4斤装 减脂必备 | 开袋即食 37.9 49.9
【6-8根】内蒙赤峰白甜糯玉米3.52斤/袋 内蒙黑土地 | 软糯香甜 17.9 24.9
维扬脆皮干240g/袋 开袋即食 | 口感绵韧 5.98 6.98
维扬樱花豆奶180ml/袋 口感丝滑 | 携带方便 2.99 2.99

其他分类只要更换一下分类id即可采集。

以上就是某生鲜小程序的爬取过程。其他类似的生鲜小程序也可以按上述步骤执行即可。

本文作者:微信futaike_corp,转载请保留版权声明。
来源url:https://www.futaike.net/lesson/9578.html

 



微信扫描下方的二维码阅读本文

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注