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‘)

本条爬虫比较简陋,但对于我们自己的后台足够用了,只为方便大家获取订单数据,方便分析,请勿用于其他用途哟。

原文:https://www.cnblogs.com/xingfuggz/p/13026284.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的Python爬虫爬取网页数据并解析数据的教程: 1. 确定目标网站和要爬取的信息 首先,需要确定要爬取的网站和要提取的信息。可以使用Python的requests库向网站发送HTTP请求获取HTML源代码,并使用BeautifulSoup库解析HTML文档获取目标数据。 例如,我们要爬取CSDN博客的文章标题和链接,可以先打开CSDN博客主页,右键查看网页源代码,找到文章标题和链接所在的HTML标签。 2. 发送HTTP请求获取HTML源代码 接下来,使用Python的requests库向网站发送HTTP请求,获取HTML源代码。 ``` import requests url = 'https://blog.csdn.net/' response = requests.get(url) html = response.text ``` 3. 解析HTML文档获取目标数据 使用BeautifulSoup库解析HTML文档,获取目标数据。 ``` from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'html.parser') titles = soup.find_all('div', class_='title') for title in titles: link = title.find('a').get('href') title_text = title.find('a').text.strip() print(title_text, link) ``` 上述代码中,通过`find_all`方法找到所有class属性为"title"的div标签,然后在每个div标签中找到第一个a标签,获取链接和标题文本。 4. 完整代码 ``` import requests from bs4 import BeautifulSoup url = 'https://blog.csdn.net/' response = requests.get(url) html = response.text soup = BeautifulSoup(html, 'html.parser') titles = soup.find_all('div', class_='title') for title in titles: link = title.find('a').get('href') title_text = title.find('a').text.strip() print(title_text, link) ``` 以上就是一个简单的Python爬虫爬取网页数据并解析数据的教程。需要注意的是,在爬取网站数据时要遵守网站的爬虫协议,避免被网站封禁IP。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值