Excel——利用excel爬取网页中的表格类型的数据以及对数据进行初步的清洗(1)

本文介绍了如何通过爬虫技术从天天基金网获取163407基金的历史净值数据,包括数据抓取、Excel中的数据清洗(如修改表头、筛选和排序)、以及设置Excel连接属性以实现数据自动更新的过程。
摘要由CSDN通过智能技术生成

一、案例一:从天天基金网,获取163407这支基金的历史净值。每次打开文件自动更新数据。

参考数据来源:http://fund.eastmoney.com/163407.html

1.爬取数据

  • 首先,打开该网站,然后寻找163407这支基金的相关数据,可以看到网页就是显示这只基金的相关数据,见下图1-1所示:
    图1-1
  • 然后,我们点击“历史净值”,便可以得到图1-2:
    图1-2
  • 最下面有显示该基金“历史净值明细”的具体情况,我们需要爬取的就是这些数据。我们复制这个页面的网址(https://fundf10.eastmoney.com/jjjz_163407.html),然后对这些数据进行爬取,爬取数据的步骤是:在excel中选择“数据”选卡下的“获取数据”中的“自其他源”中的“自网站”(详细步骤见Excel——如何利用excel的功能爬取网页表格类型的数据以及自动更新-CSDN博客),结果如下图1-3所示:
    图1-3
  •  可以看到,下面有两张表格,我们分别点击Table 0 和Table 1可以看到Table 1是我们所需要的数据(如果不清楚的可以选择Web视图进行查看是否我们所需要的数据),数据见下图1-4
    图1-4
  • 我们把Table 1 的数据加载到现有的excel表格中,结果见下图1-5:
    图1-5

 2.对数据进行清洗

(1)修改表头的标题

  • 特别注意一点的就是:有时候爬取得到的表格数据表头的标签可能没办法爬取下来,所以爬取得到的数据的表头就会变成Column 1 、Column 2等等,那么要对表头的标签进行修改的话,直接点击excel当中的单元格是无法进行修改的,在这里我们就要使用一个插件(office 2016及以上版本内置此插件,2013以及一下版本需要另外安装)。
  • 我们点击一下这个表格,然后在上方的选项卡中点击“查询”下的“编辑”,就会弹出一个编辑器,结果如下图2-1所示:
    图2-1

       此编辑器是Power Query编辑器,右边的Table 1是这个表格的名称,如果我们有很多的表格的        话,为了区分要对其名称进行修改,双击Table 1 即可进行修改,这里修改为163407。 同样修        改表头的标题也是双击便可以进行修改,修改完之后,点击该页面左上角“关闭并上载”就修改        完毕了。

(2) 筛选出日增长率为正的数据

  • 点击编辑器中的“日增长率”这一列右边的小三角,再点击数字筛选器中的大于等于,就会得到下图2-2的页面:
    图2-2
  • 在大于或等于的框右边中输入0,然后点击确认就可以筛选得到日增长率为正的数据,见图2-3、图2-4所示:
    图2-3
     
    图2-4

(3)删除多余的数据,保留所需要的数据

  • 假如我们只需要“净值日期”、“单位净值”、“累计净值”和“日增长率”这些数据

  •  我们先点击“申购状态”这列数据,然后按住shift键,再依次点击“赎回状态”、“分红配送”,然后点击上面“删除列”,见图2-5,得到的结果见图2-6:

    图2-5
图2-6

 (4)对数据进行排序

  • 假如要对“单位净值”的数据进行排序,那么点击“单位净值”旁边的小三角形就可以选择是按升序排序或者是降序排序,见下图2-7所示:
    图2-7
  • 若是按升序排序,结果就如图2-8所示:
    图2-8
  • 最后,记得点击左上角的“关闭并上载” ,得到的结果如图2-9所示:
    图2-9

 3.设置每次打开文件时自动更新 

  • 点击表格,然后选择“数据”选卡下的“全部刷新”中的“连接属性” ,结果见下图3-1所示:
    图3-1
  • 然后我们勾选“打开文件时刷新数据”,再点击确认即可 

注意: 本文中的案例以及Excel的使用方法均来自哔哩哔哩中的珞珈AI办公up主!!!

            如若有侵权,请联系删除。

            本文是作者个人学习后的总结,未经作者授权,禁止转载,谢谢配合。

             珞珈AI办公的个人空间-珞珈AI办公个人主页-哔哩哔哩视频 (bilibili.com)icon-default.png?t=N7T8https://space.bilibili.com/308552985

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可以使用Python的requests和BeautifulSoup库来爬取网页表格数据,并使用pandas库将数据存储为Excel文件。 具体步骤如下: 1. 使用requests库发送HTTP请求获取网页内容。 2. 使用BeautifulSoup库解析网页内容,找到表格数据所在的HTML标签。 3. 使用pandas库将表格数据转换为DataFrame对象。 4. 使用pandas库将DataFrame对象保存为Excel文件。 示例代码如下: ```python import requests from bs4 import BeautifulSoup import pandas as pd # 发送HTTP请求获取网页内容 url = 'http://example.com/table.html' response = requests.get(url) # 解析网页内容,找到表格数据所在的HTML标签 soup = BeautifulSoup(response.content, 'html.parser') table = soup.find('table') # 将表格数据转换为DataFrame对象 df = pd.read_html(str(table))[0] # 将DataFrame对象保存为Excel文件 df.to_excel('table.xlsx', index=False) ``` 其,`url`为要爬取的网页地址,`table`为表格数据所在的HTML标签,`df`为转换后的DataFrame对象,`table.xlsx`为保存的Excel文件名。 ### 回答2: Python是一种非常强大的编程语言,它在数据分析、机器学习和爬虫等领域表现得尤为突出。用Python来爬取网页上的表格数据并存储为excel表格是一个非常常见的应用场景。 Python有许多库可以用来进行网络爬取,其比较流行的是Requests和Beautiful Soup。Requests库用于向网站发送HTTP请求,Beautiful Soup用于解析HTML结构,将数据进行提取。在这个过程,还需要用到pandas库,它可以让我们以数据框的形式保存数据,并轻松地输出为excel文件。 实现步骤如下: 1. 引入必要的库 ```python import requests from bs4 import BeautifulSoup import pandas as pd ``` 2. 获取网页内容 ```python url = 'http://www.example.com' # 网页地址 response = requests.get(url) # 获取网页 soup = BeautifulSoup(response.content, 'html.parser') # 解析网页 ``` 3. 找到目标表格 在Beautiful Soup,我们可以使用Tag、Name、Attributes和CSS选择器等选择器来定位目标元素。这里我们假设表格在网页上是一个table标签,可以通过以下代码进行选择: ```python table = soup.find('table') # 找到表格 ``` 4. 解析表格内容 在找到表格后,我们可以使用Beautiful Soup的方法,将表格内容逐行读取,并保存在一个二维的列表。这里我们假设表头和表格数据分别存在thead和tbody标签内,可以使用以下代码来进行解析: ```python headers = [] #表头 rows = [] #表格数据 # 解析表头 for th in table.thead.find_all('th'): headers.append(th.text) # 解析表格数据 for tr in table.tbody.find_all('tr'): row = [] for td in tr.find_all('td'): row.append(td.text) rows.append(row) ``` 5. 将数据存储到excel 使用pandas库,可以将数据数据框的形式存储,并使用to_excel()方法将数据保存到excel文件。 ```python df = pd.DataFrame(rows, columns=headers) # 创建一个数据框 df.to_excel('data.xlsx', index=False) # 保存为excel文件,不包括索引列 ``` 以上是使用Python爬取网页表格数据存为Excel的基本步骤,根据实际情况,可能需要根据不同的表格结构和数据类型进行一些调整和改进。总体上,Python可以极大地简化我们从网页上提取数据的过程,为我们的数据处理和分析工作提供了高效便捷的支持。 ### 回答3: Python是一种广泛使用的编程语言,也是数据科学领域最常用的语言之一,它拥有相当丰富和实用的爬虫库可以方便的实现数据采集。随着现在各个网站对数据的重视和数据交互的日益普及,进行网页数据爬取也变得越来越普遍,下面就简单介绍一下Python如何实现爬取网页表格数据进行导出到Excel。 第一步:安装相关库 Python提供的第三方库有很多,当然也有很多与网络爬虫有关的库,例如requests、beautifulsoup4、pandas和openpyxl等。我们需要使用到的是requests(可以帮助我们获取所需的HTML网页)和pandas(可以帮助我们将数据保存为CSV或Excel格式),如果在安装库时遇到问题可以使用pip来安装: pip install requests pip install pandas pip install openpyxl 第二步:获取网页源码 获取网页源码的常用方法是使用requests库,例如我们可以使用以下代码获取百度首页的HTML源码: import requests url = 'https://www.baidu.com/' response = requests.get(url) html = response.text 第三步:使用beautifulsoup4库获取表格元素 在获取了网页源码之后,我们需要使用beautifulsoup4库来解析HTML,从而提取出表格元素并进行处理。假设我们想要获取表格元素的所有内容,可以使用以下代码: from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'html.parser') table = soup.find('table', attrs={'class': 'table_class_name'}) 这里解释一下代码的参数,html.parser参数是HTML解析器,'table_class_name'是我们在HTML源码查找表格元素时要搜索的表格类。 第四步:将数据保存为Excel文件 我们现在已经获得了网页表格元素,接下来需要将这些数据保存为Excel格式的文件,我们可以使用pandas库来完成这个任务。假设我们要将数据保存为Excel格式的文件,并且我们需要将表头和行存储在独立的列: import pandas as pd df = pd.read_html(str(table))[0] df.to_excel(r'表格数据.xlsx', index=False, header=[ '表头A', '表头B', '表头C']) 这是一个简单的例子,我们可以通过pandas灵活设置DataFrame来实现更多的需求。 总结 Python代码爬取网页表格数据存为Excel非常方便,在前面的例子,我们可以使用requests库获取网页源码,使用beautifulsoup4库获取表格元素,使用pandas库将数据保存为Excel格式的文件,从而实现数据爬取的功能,如果涉及到页面分页或者反爬虫策略,需要按照实际情况进行相应的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cherry晴

创作不易,多多包涵~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值