python采集商品数据信息并作可视化效果

本文介绍了使用Python进行商品数据采集和数据可视化的全过程。涉及requests库请求网页,parsel库解析数据,csv模块保存数据。案例中详细讲解了如何发送请求,解析HTML,保存数据到表格,并展示了数据可视化的步骤,包括数据处理和图表生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

看了标题,大家应该都知道我们本期的目的了

没错!就是采集数据并作可视化

话不多说,我们抓紧开始正文吧~

完整源码、python资料: 点击此处跳转文末名片获取

环境使用:

在开始之前,安装好我们的代码编辑器和环境是非常重要的

  • Python 3.8

  • pycharm --> 编辑器

  • jupyter notebook --> 数据分析编辑器

模块使用:

  • requests >>> pip install requests 数据请求

  • parsel >>> pip install parsel 数据解析

  • csv <表格文件> 内置模块 保存数据

安装第三方模块方法:win + R 输入cmd 输入安装命令 pip install 模块名

(如果你觉得安装速度比较慢, 你可以切换国内镜像源)

案例基本思路:

  1. 明确需求 <完成>

    明确采集的网站是什么?

    明确采集的数据是什么?

  2. 发送请求, 模拟浏览器对url地址发送请求

  3. 获取数据, 获取网页源代码

  4. 解析数据, 提取我们想要的数据内容 <书籍基本信息>

  5. 保存数据, 保存表格文件里面

需用到知识点:

基础知识点:

  1. open文件操作 保存

  2. for循环

  3. 字典创建

  4. 函数关键传参

  5. print输出函数

采集知识点:

  1. requests简单使用

  2. parsel css选择器

  3. csv 数据持久化

采集代码展示:

导入模块

# 导入数据请求模块 --> 第三方模块, 需要安装 pip install requests
import requests
# 导入数据解析模块 --> 第三方模块, 需要安装 pip install parsel
import parsel
# 导入csv模块
import csv

采集多页

for page in range(1, 26):
    # 请求链接
    url = f'http://*****.com/books/bestsellers/01.00.00.00.00.00-recent7-0-0-1-{page}'

伪装浏览器

    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)
    print(response)

<Response [200]> 响应对象

Response中文意思就是响应

<> 表示对象 200 状态码 表示请求成功

把获取下来html字符串数据<response.text>, 转成可解析对象

    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()  # 标题
        comment = li.css('.star a::text').get()  # 评论
        recommend = li.css('.tuijian::text').get()  # 推荐
        writer = li.css('.publisher_info a::attr(title)').get()  # 作者
        date = li.css('.publisher_info span::text').get()  # 日期
        publisher = li.css('div:nth-child(6) a::text').get()  # 出版社
        price_n = li.css('.price .price_n::text').get()  # 售价
        price_r = li.css('.price .price_r::text').get()  # 原价
        price_s = li.css('.price .price_s::text').get()  # 折扣
        price_e = li.css('.price_e .price_n::text').get()  # 电子书
        href = li.css('.name a::attr(href)').get()  # 详情页
        dit = {
   
            '标题': title,
            '评论': comment,
            '推荐': recommend,
            '作者': writer,
            '日期': date,
            '出版社': publisher,
            '售价': price_n,
            '原价': price_r,
            '折扣': price_s,
            '电
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值