Python毕设作业展示:【分析电商商品价格、商品版本占比数据】

人生苦短,我用python

本次案例实现目标

  • 书籍基本数据
  • 实现可视化图表
  • 书籍评论数据
  • 评论可以实现词云图

Python毕设作业展示:【分析电商商品价格、商品版本占比数据】_第1张图片

最基本思路流程: <通用>

一. 数据来源分析

1. 只有当你知道你想要数据内容, 是来自于哪里的时候, 才能通过代码请求得到数据
2. 打开 F12 开发者工具进行抓包分析
3. 通过关键字进行搜索查询 数据包是请求那个url地址

二. 代码实现步骤过程: 代码实现基本四大步骤

1. 发送请求, 模拟浏览器对于url地址<刚刚分析得到的url地址>发送请求
2. 获取数据, 获取服务器返回响应数据 —> 开发者工具里面 response
3. 解析数据, 提取我们想要的数据内容 —> 书籍基本信息
4. 保存数据, 把数据内容保存到表格里面


Python毕设作业展示:【分析电商商品价格、商品版本占比数据】_第2张图片

代码实现

获取书籍详情信息

发送请求

url = f'http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-recent7-0-0-1-1'
# 代码模拟浏览器发送请求 ---> headers请求头 <可以复制粘贴>
headers = {
    # User-Agent 用户代理 表示浏览器基本身份标识
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
# 发送请求
response = requests.get(url=url, headers=headers)
#免费领python源码籽料qun:903971231

解析数据

免费领python源码籽料qun:903971231
selector = parsel.Selector(response.text)
# 第一次提取, 获取所有li标签
lis = selector.css('.bang_list_mode li')  # 返回列表
# for循环遍历, 把列表里面的元素一个一个提取出来
for li in lis:
    title = li.css('.name a::attr(title)').get()  # 标题/书名
    recommend = li.css('.tuijian::text').get().replace('推荐', '')  # 推荐
    star = li.css('.star a::text').get().replace('条评论', '')  # 评价
    author = li.css('div:nth-child(5) a:nth-child(1)::attr(title)').get()  # 作者
    date = li.css('div:nth-child(6) span::text').get()  # 出版日期
    press = li.css('div:nth-child(6) a::text').get()  # 出版社
    price_r = li.css('.price .price_r::text').get()  # 原价
    price_n = li.css('.price .price_n::text').get()  # 售价
    price_e = li.css('.price_e span::text').get()  # 电子书价格
    href = li.css('.name a::attr(href)').get()  # 详情页
    dit = {
        '标题': title,
        '推荐': recommend,
        '评价': star,
        '作者': author,
        '出版日期': date,
        '出版社': press,
        '原价': price_r,
        '售价': price_n,
        '电子书价格': price_e,
        '详情页': href,
    }
    csv_writer.writerow(dit)
    print(dit)

保存数据

#免费领python源码籽料qun:903971231
f = open('书籍.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
    '标题',
    '推荐',
    '评价',
    '作者',
    '出版日期',
    '出版社',
    '原价',
    '售价',
    '电子书价格',
    '详情页',
])
# 写入表头
csv_writer.writeheader()

运行代码得到结果

Python毕设作业展示:【分析电商商品价格、商品版本占比数据】_第3张图片

最后结果展示

包含商品名字+价格+出版社+成交量

Python毕设作业展示:【分析电商商品价格、商品版本占比数据】_第4张图片
Python毕设作业展示:【分析电商商品价格、商品版本占比数据】_第5张图片

你可能感兴趣的:(Python,基础知识,python基础知识,python,课程设计,pycharm)