一、网页数据提取
1.1 提取股票数据
当我们在网页上看到表格,想要把它们丢到Excel内进行分析时,许多人的做法是:拉动鼠标选中表格,复制。
然后在Excel中进行粘贴。
这个方法有个缺点:一旦网页内容有了更新,我们又得重复这个步骤,到网页中重新抓取表格,进行复制粘贴。对此,Excel有一个网页查询功能,可以省下手动复制粘贴的功夫。
操作步骤如下:
①首先复制表格所在的网址。
②选择数据中的自网络,输入网址。
③此时,Excel会自动分析网页的结构,并将侦测到的表格显示在左侧栏位。很显然,我们需要的表格是第二个,于是我们选中第二个,点击确认。
效果如下:
这个方法最大的好处就是: 如果要和网页资料保持一致,我们只需点击刷新即可。
我们也可以开启自动更新功能。
1.2 Youtube浏览数据提取
除了股市资料之外,我们也可以利用这个功能截取其它感兴趣的主题。如运动赛事、电影票房、游戏评分等。举个例子:我们想分析中国台湾Youtube前100的浏览数据。
操作如下:
①复制网址
②从网络中粘贴网址
③在对话框内找到需要的表格,并载入。
效果如下:
可以利用数据透视表/图进行数据分析。
1.3 数据可视化工具
除了数据透视表/图,还有一些有趣的数据可视化工具。举例来说,从维基百科中找到了台湾的人口统计数据信息。
然后将网址同样贴到Excel内。
并且选择最后一个表格。
这里我打算对资料进行一些整理,于是我选择下方的转换数据,进入到另一个编辑界面。
可以看出表格下面有8行数据没用。
我们对其进行移除,数目为8行。
如果我想在表格中呈现每个市的人口成长变化,那么这些年份必须整合成一列。
因此我将2020年这一列选中,按住shift,然后点击最后一列。
由于数据中有一些错误,所以可以将错误的资料移除。
表格整理后,回到Excel界面。
针对这种含有地名的表格,Excel具有一个很适合的视觉化图表——3D地图。
效果如下:
二、爬取雅虎电影信息数据
到目前为止,我们输入的数据在结构上都是传统的表格。现在我们要分析的数据在排版上较为分散,那么我们就得仰赖一些第三方工具来截取这些资料。
其中有一个很好用的软件——Parsehub。
这里我以雅虎电影网站为例。我想截取电影的中文名称、英文名、上映时间和在介绍页面的IMDb分数、电影导演。
操作步骤如下:
①将雅虎电影网站复制
②在Parsehub建立一个新的工程
③将网站粘贴在左侧,并点击开始。
首先抓取电影中文名,使用鼠标点击电影名。
此时Parsehub根据你点击的位置,推测出同一个页面其他电影的标题。
然后黄色框代表你需要确认。我们将标题进行点击确认,然后标题变为绿色。我们向下滑动,确认这一页标题被选中。此时,页面底部的表格会显示我们截取到的信息。
你会发现除了标题,还有电影链接也被抓取进来了。由于链接信息不需要,因此可以在左侧将其删除
同时我们可以修改标题
使其更符合内容
为了截取英文名称等信息,我们利用关联式选取
然后点击中文名,并将箭头指向底下的英文名。
同样的,英文名称也有URL,我们不需要,可以进行删除,
并更改栏位标题。
类似的操作我们可以截取上映日期,这里不再赘述。
而IMDb分数和导演姓名在电影内容页,我们在Movie右侧添加啊 Click,代表我们要对电影名进行点击。
此时Parsehub会有对话框,询问我们点击是否是类似购物网站中的下一页。很显然不是。
然后Parsehub会让我们为这个新页面建立一个名字。
如此,电影介绍页面就会被开启在新视窗中。我们就可以将IMDb分数等带入表格
最后让Parsehub设置规则,搜寻其余页的资料。
方式为:
选择page右侧的Select
然后点击下一页
由于不需要链接和名称,我们将其删除。
然后将名称命名为Next。并且使用Click来告诉Parsehub下一页有什么内容。这一次我们选择Yes。
然后设置搜寻页数,如果使用0,则会搜索到最后一页,但会花很多时间。
我们点击Getdata
再点击RUN执行
一段时间后,Parsehub使用Email提示我们完成截取,然后可以选择文件下载格式
我们选择CSV,并开启,发现乱码。
对此,我们新建一个Excel文件,点击数据中的从文本/CSV,来选取刚才下载的文件。
然后将编码格式设置为UTF-8。
然后点击转换,效果如下:
最后做一些表格整理,
①将下沉的标题拉回到最上面
②将上映日期四个字删除,选择依分隔符分割
手动输入冒号:
③将标题改为中文
最会关闭对话框,效果如下: