KINLONG
  • Home
  • Profiles ▼
  • Communities ▼
  • Apps ▼
  • Metrics
  • Moderation
首页
  • ▼
  • Log In
  • Share
  • ?
  • IBMIBM

Communities

This community can have members from outside your organization. 宣传社区

  • Log in to participate
0d5a4565-f6ce-42a1-ac3b-cdfaaad6889f Blog

▼ Tags

 

▼ Similar Entries

【Excel高效办公】别再Ctrl+V!...

Blog: 宣传社区
KM Admin 4b0b5240-2731-1037-9513-91eec91f24f4 kmadmin@kinlong.cn
Updated
14 people like thisLikes 14
CommentsComments 11

Re: 【Excel技巧】快记笔记!VL...

Blog: 环保管理部
刘洋 1ed8f6c0-f3ab-1039-9dec-ab4bc38c0954
Updated
56 people like thisLikes 56
CommentsComments 3

【Excel技巧】快记笔记!VLOOKU...

Blog: 宣传社区
KM Admin 4b0b5240-2731-1037-9513-91eec91f24f4 kmadmin@kinlong.cn
Updated
77 people like thisLikes 77
CommentsComments 30

【Excel技巧】只会Vlookup函数...

Blog: 宣传社区
KM Admin 4b0b5240-2731-1037-9513-91eec91f24f4 kmadmin@kinlong.cn
Updated
77 people like thisLikes 77
CommentsComments 34

Re: 【Excel技巧】1分钟!学会统...

Blog: 环保管理部
乔盈月 9a561740-fca7-103b-8bf3-ab4bc38c0954
Updated
44 people like thisLikes 44
No CommentsComments 0

▼ Archive

  • September 2023
  • July 2023
  • June 2023
  • November 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • June 2018
  • December 2017
  • April 2017

▼ Links

  • 在线图片编辑器

▼ Blog Authors

宣传社区

View All Entries
Clicking the button causes a full page refresh. The user could go to the "Entry list" region to view the new content.) Entry list

【Excel高效办公】如何用Excel抓取网页数据?

KM Admin 4b0b5240-2731-1037-9513-91eec91f24f4 kmadmin@kinlong.cn | | Tags:  excel技巧 爬虫 网页数据抓取 ‎ | 92 Comments ‎ | 656 Views

 

【Excel高效办公】如何用Excel抓取网页数据?

 

 

 

 

 

作者:拉登 Dony

 

 

 
 
我是拉小登,一个会设计表格的 Excel 老师。
 
有个女学员提问:
 

 
大致意思是这样的:
❶ 女,文科生,大三没什么课。
❷ 感觉 Python 是潮流,不学就落伍了。
❸ 想学 Python,从哪里开始?
 
很明显,朋友圈的里的 python 广告看多了。
 
想学习数据爬取,何用 python?用 Excel 就可以了。
 
Excel 从 2016 以后的版本,就内置了强大的数据处理神器 Power Query,可以直接在 Excel 里,实现数据爬取。
 
 
今天给大家介绍两种方法:
第 1 种方法,是方法 1。
第 2 种方法,是方法 2。
 
怎么样?厉害吧?
 

方法1

 
 
两种方法的区别,主要看网页的结构。
 
如果网页中的数据,使用的是 table 标签,那么直接导入 web 网页就可以了。
 
比如,我们经常在豆瓣上,看即将上映的电影列表,这个就是一个 table 标签的网页。
 
 
网页的地址是:https://movie.douban.com/coming
 
使用 Excel 抓取数据的步骤是这样的。
 

�� 操作步骤:

 

❶ Excel 导入 web 数据

 
在「数据」选项卡中,点击「自其它源」「自网站」。
 
 

❷ 粘贴 web 网址

 
在弹出的对话框中,粘贴上面的网址,点击「确定」。
 
 

❸ 加载表格数据

 
这个时候,你会看到的就是 Power  Query 的界面啦。
 
在窗口左侧的列表中,选择 table0,右侧就可以看到 Power Query 自动识别出来的表格数据了。
 

 

❹ 加载数据到Excel

 
点击「加载」,就可以把网页数据抓取到表格中去了。
 
 
使用 Power Query 的好处是,如果网页中的数据更新了,在导入结果上,右键「刷新」就可以同步数据。
 
 

注意:

 
这里说的是网页中包含 table 标签的数据。
 
什么意思呢?就是网页中的数据,本来就是一个表格结构,这个方法和你直接复制网页数据,粘贴到表格里,是一样的意思。
 
对于那些非 table 标签的网页数据,这个方法不好使。
 
怎么识别一个网页是不是 table 标签呢?很简单,选择任意一个数据,然后在网页中点击右键,选择「检查」。
 
 
然后你会看到网页的源代码,你不需要懂,只要看到当前高亮的代码中,包含以下任意的标签,就表示网页用了 table 标签,可以用这个方法。
 
<table>
<td>
<tr>
 
如果没有的话,那就继续看方法 2。
 

方法2

 
 
使用 table 标签保存数据,已经是非常古老的网页技术了。现在的网页大都使用 div、span 等格式更丰富、更灵活的标签,来呈现数据。
 
这种网页就不好直接导入了。
 
比如我常看的「知乎」,他们的网页里一个 table 都没有。
 
 
用方法 1 导入到 Power query 里,左侧没有 table 数据,就不好抓取了。
 
 
那怎么办呢?
 

 
这个时候就要直接抓取数据包了。
 
本质上,网页中的数据都会包打包成一个数据包,发送个网页后,网页再读取数据包进行渲染。
 
这个数据包常用的格式是 JSON,那么我们只要把 JSON 数据包抓取下来,也可以实现网页数据抓取。
 
不管他,干就完事儿了。
 
「下方高能预警」,如果你看不懂,可以直接跳过看方法 3。
 

操作步骤:

 
我们以知乎搜索 Excel 问题为例。
 

❶ 识别数据包

 
首先,在页面中点击右键,选择「检查」。
 
 
然后,右侧会出现网页调试窗口,然后点击「network」「xhr」,在这里面可以看到所有的数据传输记录。
 
 
尝试着在知乎中搜索「Excel」,就可以看到数据的传输了。
 
 
向下滚动页面,当右侧列表汇总看到了「search_v3?t=」时,抓住它,这个就是我们需要的数据包。
 
 

❷ 复制数据包链接

 
然后在这个数据包上,点击右键选择「copy link address」复制数据包的链接。
 

 

❸ 导入 json 数据

 
接下来就进入到了 Excel 操作界面,在「数据」选项卡中,点击「自其它源」「自网站」,粘贴数据包的链接。
 
 
点击确定后,就进入到了 Power Query 的界面。
 
 
数据包的结构,像是我们的「文件夹」一样,数据按照类别分别保存在不同的「子文件夹」中。
 
打开数据包「文件夹」的方式,就是在数据上,点击右键选择「深化」。
 
 
在数据上依次点击「深化」就可以找到我们的数据了。
 
 

❹ 批量读取数据

 
最后,再写几个简单的函数,把「子文件」数据批量的读取出来。
 
在「主页」选项卡中,点击「高级编辑器」打开函数编辑窗口。
 
 
编写几个简单的函数,我们就完成了数据的抓取。
 
 
最终抓取的数据如下:
 
 

高级玩法:

 
当然,如果你比较熟悉 Power Query 的话,可以在上面的基础上,再加入参数,可以根据表格中的「搜索词」,实时的搜索知乎文章,一键刷新统计结果。
 

方法3

 
 
专业的事情交给专业的工具来做。
 
Power Query 是专业的数据整理插件,不是数据爬取软件,所以方法 2,你看着可能会有些吃力。
 
在爬虫这个领域,还是要用专业软件,比如「后羿采集器」。点击几下按钮,就可以轻松完成数据抓取。
 

操作步骤:

 
打开「后羿采集器」,在「网址」栏中粘贴入知乎的搜索网址,如:
 
 
然后点击「智能采集」,接着后羿采集器会自动识别网页中的数据,等待识别完成。
 
 
识别完成后,点击「开始采集」,数据就开始爬取了。
 
 
爬取完成后,在弹出的对话框里,点击「导出」,数据就自动以表格的形式保存下来了。
 

总结

 
 
专业的事情,交给专业的工具来做。
 
❶ 简单的表格类网页,使用 Power Query 抓取,举手之劳。
❷ 复杂的网页,使用爬虫软件,也是点点按钮的事情。
 
关于 Power Query 和爬虫,我有两篇更为详细的文章,推荐给你,点击图片直达。
 
 
考考你:
 
python 可以爬虫,但不是万能的。
Excel 也可以爬虫,但是没有掌握高级的 Power query 技巧。
最简单爬虫,还是使用爬虫软件。
 
最后出一个小测试题吧!
 
我在国家统计局的网站中,找到了 2010 年的人口普查数据。
 
 
网址是:
http://www.stats.gov.cn/tjsj/pcsj/rkpc/6rp/indexch.htm
 
或者点击「阅读原文」获取。
 
这是一个典型的 table 类网页。请使用 Power Query 功能,把这个数据抓取到表格中。
 
好了今天就到这里,下课!
 
 

 

 

Modified on by KM Admin 4b0b5240-2731-1037-9513-91eec91f24f4 kmadmin@kinlong.cn
  • Add a Comment Add a Comment
  • Edit
  • More Actions v
  • Quarantine this Entry
Notify Other People
notification_ex

Send Email Notification

Quarantine this entry

deleteEntry
duplicateEntry

Mark as Duplicate

  • Previous Entry
  • Main
  • Next Entry
Feed for Blog Entries | Feed for Blog Comments | Feed for Comments for this Entry
  • Home
  • Help
  • IBM Support Forums
  • Bookmarking Tools
  • Server Metrics
  • Mobile UI
  • About
  • IBM Connections on ibm.com
  • Submit Feedback