python爬取商城数据_Python爬取新版CRMEB小程序商城后台订单数据,保存为excel
安装依赖库
pip3 install requests, openpyxl
爬取思路
后台ingdan的接口地址是:/admin/order.StoreOrder/order_list.html
登陆之后我们可以获取到header信息,利用requests.get方式获取接口数据,并将爬取的response数据返回为json数据,利用字典的get方式获取我们需要的信息。
将我们需要的订单、支付时间等信息逐项读取并返回为一个列表格式
创建一个空白的excel文档
excel第一行设置为每一列的标题
每个标题对应的列存入对应的数据
import json
import re
import requests
from openpyxl import Workbook
def load_json():
""" 读取json中的data信息 """
resp = requests.get(
'http://xxx.com/admin/order.StoreOrder/order_list.html?',
params=params,
headers=headers
).content.decode('utf-8')
datas = json.loads(resp).get('data', '不存在')
return datas
def read_data(dict_name):
"""
dict_name对应的每个值,读取订单信息
order_id - 订单ID | pay_price - 实际支付 | pay_type_name - 支付类型 | pink_name - 订单类型
mark - 用户备注(邮箱)| total_num - 订单数量 | add_time - 支付时间 | _info - 商品名称(返回一个列表)
"""
datas = load_json()
return [data[dict_name] for data in datas]
def cell_range(wb):
""" 创建一个空白表格 """
ws = wb.active
return ws
def save_xlsx(ws, title, sheets, column, start=2):
""" 设置首行标题及标题对应的值 """
ws[column+str(start-1)] = title
for i in list(range(start, len(sheets)+start)):
ws[column+str(i)].value = sheets[i-start]
函数使用文档
load_json()爬取接口数据并返回data的json格式数据
read_data()获取每个数据的列表
cell_range()获取excel的默认表格,并返回
save_xlsx(ws, title, sheets, column, start=2)
ws: 空白的表格
title: 设置第一行对应数据的标题
sheets: 每个数据的列表
column: 每一列对应的大写字母如(A,B,C,D,E)
开始爬取并保存,需要获取更多数据,请参考CRMEB的接口文档
if __name__ == "__main__":
from openpyxl import Workbook
# headers信息请在头部header中获取
headers = {
'Cookie': '替换为你的Cookie信息',
'Host': '替换为你的host',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4128.3 Safari/537.36'
}
# page为分页页码 limit为每一页的订单数量,其他筛选条件在这里添加,具体参考crmeb接口文档
params = {'page': 1, 'limit': 20}
wb = Workbook()
ws = cell_range(wb)
# 设置订单号
order_id = read_data('order_id')
save_xlsx(ws, title='订单号', sheets=order_id, column='A')
# 设置订单数量
total_num = read_data('total_num')
save_xlsx(ws, title='订单数量', sheets=total_num, column='B')
# 设置支付时间
add_time = read_data('add_time')
save_xlsx(ws, title='支付时间', sheets=add_time, column='C')
# 设置实际支付
pay_price = read_data('pay_price')
save_xlsx(ws, title='实际支付', sheets=pay_price, column='D')
# 设置支付类型
pay_type_name = read_data('pay_type_name')
save_xlsx(ws, title='支付类型', sheets=pay_type_name, column='E')
# 设置推广人
spread_nickname = read_data('spread_nickname')
save_xlsx(ws, title='推广人', sheets=spread_nickname, column='F')
# 设置产品名称
names = [name[0]['cart_info']['productInfo']['store_name'] for name in read_data('_info')]
save_xlsx(ws, title='产品名称', sheets=names, column='G')
wb.save('data_crmeb.xlsx')
本条爬虫比较简陋,但对于我们自己的后台足够用了,只为方便大家获取订单数据,方便分析,请勿用于其他用途哟。
python爬取商城数据_Python爬取新版CRMEB小程序商城后台订单数据,保存为excel相关推荐
- h5app多功能商城源码可二开微信小程序商城开源版分享
基于ThinkPhp6.0+uniapp 开发的一套新零售商城系统.集客户关系管理+营销电商系统,能够真正帮助企业基于微信公众号.小程序.wap.pc等,实现会员管理.数据分析,精准营销的电子商务管理 ...
- CRMEB小程序商城源码安装后,个人中心推广海报不显示处理方法!
CRMEB V2.6小程序商城源码或者打通版商城源码,安装成功后,个人中心推广海报无法展现处理方法! 1.个人中心海报打开提示 "生成图片时,系统错误" 并返回 imagettft ...
- 15-微信小程序商城 产品评价页布局(微信小程序商城开发、小程序毕业设计、小程序源代码)(黄菊华-微信小程序开发教程)
产品评价页布局 本节主要讲解产品评价页的布局和实现,效果如图13-22所示. 1.布局分析 结构布局分析示意如图13-23所示. 根据上面的布局分析,我们会产生基础的框架,代码示例如下: <vi ...
- 24-微信小程序商城 收货地址列表(微信小程序商城开发、小程序毕业设计、小程序源代码)(黄菊华-微信小程序开发教程)
收货地址列表 本节主要讲解收货地址列表界面的实现.效果如图15-5所示. 1.布局分析 结构布局分析示意如图15-6所示. 根据上面的布局分析,我们会产生基础的框架,代码示例如下: <view ...
- multiprocessing.queue取数据要加锁么_干货 | 小程序多页面接口数据缓存
小程序里面多个页面,有时候会需要用到同一个接口的数据.而这些数据全局来说只需要拉取一遍,如果要存到缓存,要怎么保证其他页面取缓存的时候,数据已经拉取回来了呢? 答案是多页面接口数据缓存实现. 思路设计 ...
- 微信小程序商城搭建,如何开发一个微信小程序商城
分析架构 我们开发系统,常规有两个架构,一个BS架构(浏览器/服务器模式),一个CS(客户端/服务器端模式):我们微信小程序项目属于CS架构,C客户端是我们要开发的小程序,S端是我们要开发的后台管理系 ...
- python计算bmi的编程_Python学习-计算BMI的小程序
示例: 小明身高1.75,体重80.5kg.请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:低于18.5:过轻 18.5-25:正常 25-28:过重 28-32:肥 ...
- 微信小程序从后台拿数据并成功展示到前台——demo
项目结构,我没有使用index文件夹,使用了自己创建的test文件夹 1.创建好页面之后配置app.json 2.前台页面 3.页面的js 4.页面展示效果 5.后台代码,一开始还想自己进行json转 ...
- python爬取CRMEB3.2 后台订单数据并导出excel
最近在学习爬虫的时候,正好用一个开源的CRMEB小程序商城框架搭建了一个,发现后台导出订单功能不好用,也没办法更好的控制想获取什么信息就获取什么信息,于是自己尝试写了一个简单的爬虫爬取需要的信息. 运 ...
最新文章
- 删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录...
- flex4实现图片的动态切换
- python编程基础是什么-一 python编程基础
- linux 命令输出保存为文件的三种方式
- js 解析 url参数中文的情况
- Linux最常用命令:简单易学,但能解决95%以上的问题
- 预训练语言模型论文分类整理:综述、基准数据集、PLM的设计和分析
- 专业App开发:设计App图标的三个关键点
- git 代理 git_生日快乐,Git
- 利用socket实现java程序自动关闭
- 手机听筒被灰尘堵塞了如何清洗?
- OpenResty缓存
- hadoop的伪分布环境配置(2.5.2)
- springboot 微服务相关收藏
- 两端“弱智”的HTML代码
- QT 小数位有效数显示
- Java.Canvas
- 格雷希尔G15系列快速接头的基本操作原理
- pny 魔豆系列4G U盘 测速
- [CVPR2020]Learning to Cartoonize Using White-box Cartoon Representations