一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧

16IP (2).png
作为一名互联网技术爱好者,我对数据的探索充满热情。在本文中,我将以豆瓣读书为案例,详细介绍如何利用Python爬虫、Pandas和Excel这三大工具,一键化地实现数据采集和存储。豆瓣读书作为一个备受推崇的图书评价平台,拥有大量的书籍信息和用户评价数据,适合我们展示数据处理过程。

Pandas简介

在数据处理领域,Python中的Pandas库是一款备受欢迎的工具,它提供了高效的数据结构和数据分析工具,使得数据的处理变得更加简单、快速。主要的数据结构包括Series(一维数据)和DataFrame(二维数据表),这些数据结构为数据分析提供了基础。Pandas支持数据导入、数据清洗、数据操作和数据分析等功能,并且提供了丰富的数据可视化能力,让数据更具有可视化的魅力。

Python中Excel的作用

作为一款被广泛运用的办公软件,Excel在数据处理和分析领域同样扮演着重要的角色。在Python中,我们可以通过Pandas库将处理好的数据导出到Excel文件,从而方便更多人员查看和分析数据。Excel提供了众多功能,比如数据透视表、图表制作等,这些功能可以使数据展示更生动更具有说服力,帮助我们更好地呈现数据分析结果。

案例过程

Python爬虫实现豆瓣读书数据采集

首先,让我们从爬虫的角度出发,使用Python来实现对豆瓣读书网站的数据采集工作。通过发送HTTP请求,我们可以获取网页内容,接着利用Beautiful Soup库来解析页面结构,从而提取出我们需要的书籍信息,如书名、作者、评分和评论等。将这些数据存储为DataFrame结构,将会为后续的数据处理和分析提供便利。

# 导入所需库
import requests
from bs4 import BeautifulSoup
import pandas as pd
import random# 设置代理信息
proxyHost = "www.16yun.cn"
proxyPort = "5445"
proxyUser = "16QMSOML"
proxyPass = "280651"
proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {"host": proxyHost,"port": proxyPort,"user": proxyUser,"pass": proxyPass,
}proxies = {"http": proxyMeta,"https": proxyMeta,
}# 设置随机User-Agent
user_agents = ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36 OPR/44.0.2510.1449","Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36",
]headers = {"User-Agent": random.choice(user_agents),
}# 发起HTTP请求,获取网页内容
url = 'https://book.douban.com/top250?start=0'
response = requests.get(url, headers=headers, proxies=proxies)
soup = BeautifulSoup(response.text, 'html.parser')# 解析页面内容,提取书籍信息
books = []
for item in soup.find_all('tr', class_='item'):title = item.find('div', class_='pl2').find('a').text.strip()author = item.find('p', class_='pl').text.strip()rating = item.find('span', class_='rating_nums').text.strip()comments = item.find('span', class_='pl').text.strip()books.append({'Title': title, 'Author': author, 'Rating': rating, 'Comments': comments})# 将数据转化为DataFrame
df = pd.DataFrame(books)# 打印输出结果
print(df)

Pandas的数据处理和分析

接下来,我们将导入爬取到的数据,运用Pandas库进行数据处理和分析。通过Pandas的强大功能,我们可以进行数据清洗、统计计算、数据筛选等操作。比如计算平均评分、统计评论数量等,这些数据分析结果将有助于我们更好地了解书籍情况和用户评价。

# 数据清洗与分析
df['Rating'] = df['Rating'].astype(float)  # 将评分列转换为浮点型数据# 统计平均评分和评论数量
average_rating = df['Rating'].mean()
comments_count = df['Comments'].count()# 输出统计结果
print(f'平均评分:{average_rating}')
print(f'评论数量:{comments_count}')

利用Excel进行数据存储和展示

最后一步,我们将处理好的数据导出到Excel文件中,借助Excel的功能,我们可以轻松制作数据报表和图表,更加直观地展示数据分析结果。

# 导出数据至Excel
df.to_excel('douban_books_data.xlsx', index=False)

在Excel中,我们可以通过多种图表类型来展示数据,如柱状图、折线图、饼图等,让数据更生动、更易于理解。这种可视化的展示形式不仅能更好地传达数据分析结果,也能让我们即时发现数据之间的关联和规律。

总结

通过以上的实例演示,我们深度探索了如何利用Python爬虫、Pandas和Excel这三大工具,实现数据的一键化采集、处理和展示。从爬取豆瓣读书数据,到利用Pandas进行数据清洗和分析,再到最终将结果导出到Excel中,全程贯穿着数据处理的完整流程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/770244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亮剑AIGC,紫光云能否胜人一筹?

【全球云观察 | 科技热点关注】 扎实创新每一步, 先人一步快人一步。 2023年全球科技行业最火的莫过于生成式AI,即Artificial Intelligence Generated Content。在迈向生成式AI的道路上,虽然说不上千军万马,但是国内…

Python学习笔记------文件操作

编码 编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。 编码有许多中,我们最常用的是UTF-8编码 计算机只认识0和1,所以需要将内容翻译成0和1才能保存在计算机中。同时也需要编码,将计算机保存的0和1&#xff0c…

2.4 如何运行Python程序

如何运行Python程序? Python是一种解释型的脚本编程语言,这样的编程语言一般支持两种代码运行方式: 1) 交互式编程 在命令行窗口中直接输入代码,按下回车键就可以运行代码,并立即看到输出结果;执行完一行…

ReentrantLock加锁分析

1、ReentrantLock中其实是有一个AQS的子类实例的成员变量sync; 2、实际是调用的Sync中的lock;Sync是AQS的子类;Sync有两个子类,公平与非公平;默认为非公平;如下是非公平加锁分析; public Reentr…

Visual Basic6.0零基础教学(4)—编码基础,数据类型与变量

编码基础,数据类型与变量 文章目录 编码基础,数据类型与变量前言一、VB中的编程基础二、VB的基本字符集和词汇集1、字符集2、词汇集 VB中的数据类型VB中的变量与常量一.变量和常量的命名规则二.变量声明1.用Dim语句显式声明变量三. 常量 运算符和表达式一. 运算符 1. 算术运算符…

获取Book里所有sheet的名字,且带上超链接

应用背景: 当一个excel有很多sheet的时候,来回切换sheet会比较复杂,所以我希望excel的第一页有目录,可以随着sheet的增加,减少,改名而随时可以去更新,还希望有超链接可以直接跳到该sheet。 可以…

06-验证浮点数输入

鉴于shell脚本的限制和本事,浮点数(或“实数”)的验证过程乍一看似乎让人望而生畏,不过考虑到浮点数只不过是由小数点分隔的两个整数,再配合能够在脚本中引用其他脚本的能力(validint)&#xff…

【爬取网易财经文章】

引言 在信息爆炸的时代,获取实时的财经资讯对于投资者和金融从业者来说至关重要。然而,手动浏览网页收集财经文章耗时费力,为了解决这一问题,本文将介绍如何使用Python编写一个爬虫程序来自动爬取网易财经下关于财经的文章 1. 爬…

前端基础 Vue -组件化基础

1.全局组件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><script src&…

【QA】MySQL导出某数据库的所有数据为sql文件,包含建库命令、建表命令。

文章目录 前言Windows系统下 | mysqldump导出数据库数据Docker中导入初始化数据【补充】通过命令行&#xff0c;执行sql文件&#xff0c;将数据导入到数据库在MySQL外面执行在MySQL中执行 前言 我们在用docker部署mysql项目的时候&#xff0c;往往需要对数据库进行数据初始化。…

Java-SSM电影在线播放系统

Java-SSM电影在线播放系统 1.服务承诺&#xff1a; 包安装运行&#xff0c;如有需要欢迎联系&#xff08;VX:yuanchengruanjian&#xff09;。 2.项目所用框架: 前端:JSP、layui等 后端:SSM,即Spring、SpringMvc、Mybatis等。 3.项目功能点: 3-1.后端功能: - 所有后台管理展…

rk3588内核添加特殊分辨率

rk平台内核本身默认支持一些常规的分辨率,如1920x1080@30,1280x720@60,但是往往不能满足需求,如有的客户需要你添加1020x700@35的分辨率,这时候就要自己加上去了。 下图是LCD各个参数对应的位置: 显示mode 各个参数含义如下: hdisplay:有效显示区水平像素数量,对应A…

Redis入门到实战-第十弹

Redis实战热身Geospatial篇 完整命令参考官网 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://redis.io/Redis概述 Redis是一个开源的&#xff08;采用BSD许可证&#xff09;&#xff0c;用作数据库、缓存、消息代…

[综述笔记]Flexible large-scale fMRI analysis: A survey

论文网址&#xff1a;Flexible large-scale fMRI analysis: A survey | IEEE Conference Publication | IEEE Xplore 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff0…

关于网格数据导出指定格式的测试(以Gmsh导出nas格式为例)

本文主要讲述Gmsh如何导出nas格式的网格数据&#xff0c;众所周知&#xff0c;Gmsh可以导出多种网格数据格式&#xff0c;比如大家熟悉的msh、stl、inp、cgns&#xff08;似乎不完善&#xff09;等等&#xff0c;但是gmsh不支持nas格式的导出&#xff0c;只支持nas格式的导入&a…

银行量子金融系统应用架构设计

量子金融&#xff08;即Financial-Quantum&#xff0c;简称Fin-Q&#xff09;&#xff0c;特指量子科技在金融行业中的应用。 目前&#xff0c;量子科技中以量子保密通信、量子随机数和量子计算发展进度较快&#xff0c;取得了诸多阶段性重大技术突破和商用成果&#xff0c;这…

Linux Ncurses库部分函数使用说明

目录 1. initscr&#xff08;&#xff09;函数 2. endwin&#xff08;&#xff09;函数 3. curs_set()函数 4.noecho()函数 5. keypad()函数 6. start_color()函数 7.init_pair()函数 8.getch()函数 9.move()函数 10.addch()函数 11. refresh()函数 12.inch()函数…

实战|使用 Node.js 和 htmx 构建全栈应用程序

在本教程中&#xff0c;我将演示如何使用 Node 作为后端和 htmx 作为前端来构建功能齐全的 CRUD 应用程序。这将演示 htmx 如何集成到全栈应用程序中&#xff0c;使您能够评估其有效性并确定它是否是您未来项目的不错选择。 htmx 是一个现代 JavaScript 库&#xff0c;旨在通过…

多叉树题目:N 叉树的前序遍历

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 解法三思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;N 叉树的前序遍历 出处&#xff1a;589. N 叉树的前序遍历 难度 3 级 题目…

一文速通自监督学习(Self-supervised Learning):教机器自我探索的艺术

一文速通自监督学习&#xff08;Self-supervised Learning&#xff09;&#xff1a;教机器自我探索的艺术 前言自监督学习是什么&#xff1f;自监督学习的魔力常见的自监督学习方法1. 对比学习2. 预测缺失部分3. 旋转识别4. 时间顺序预测 结语 &#x1f308;你好呀&#xff01;…