《机器学习与数据科学(基于R的统计学习方法)》——2.9 从网站中抓取数据...

news/2024/5/9 5:17:47/文章来源:https://blog.csdn.net/weixin_33721427/article/details/90556815

本节书摘来异步社区《机器学习与数据科学(基于R的统计学习方法)》一书中的第2章,第2.9节,作者:【美】Daniel D. Gutierrez(古铁雷斯),更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.9 从网站中抓取数据

将网站当成是一个数据源可能是个奇怪的想法,但是,一旦你想起网站是一组HTML文件,HTML可以更好地表示数据时,那么“读取”网站这一行为就会显得比较合理了。这一技术在需要的数据没有现成的CSV文件或者其他文件类型可供下载时特别有效。作为替代,我们可以直接从网页中“抓取”数据。

为了演示这一读取数据的工具,让我们来访问一个包含数据集的网站,并将其导入R进行处理。图2-3展示了制造业数据采购经理人指数(PMI,Purchasing Managers Index)的历史值。我们的目标是写一个R脚本,直接从网页中读取数据,然后将它载入数据框中进行更深入的分析。接着更进一步,将数据变形,转换成对我们的目标来说更容易使用的形式。

9ef74bd4661d92702627c252460cd58ad7f87854

下面的代码首先下载两个包:XML和reshape2。XML包中有一个对抓取网页来说非常有用的函数:readHTMLTable(),它能将数据从HTML表格中提取出来。HTML表格通常是数据在网页中的展现形式。为了方便使用,我们将这一函数的返回数据列表转换成数据框的形式。使用head(df)展示了现在在数据框中的数据,我们可以看到,与网页中的数据相同。

> library(XML)
> library(reshape2)
> webdata <- readHTMLTable('http://www.ism.ws/ISMReport/ content.cfm?ItemNumber=10752')
> df <- data.frame(webdata[[1]])
> names(df)[1] <- 'Year' # Add a name for first column
> head(df)Year JAN   FEB   MAR  APR  MAY   JUN  JUL  AUG   SEP  OCT  NOV   DEC
1 2014 51.3                            
2 2013 52.3 53.1 51.5 50.0 50.0 52.5 54.9 56.3 56.0 56.6 57.0 56.5
3 2012 52.8 52.4 53.0 53.7 53.2 51.0 50.6 51.1 52.2 51.2 49.5 50.4
4 2011 59.0 59.3 59.1 58.9 53.7 56.6 52.9 53.0 52.8 51.8 52.1 53.1
5 2010 57.2 55.8 58.8 58.1 58.3 56.4 56.4 58.0 56.3 57.7 57.6 57.5
6 2009 34.9 35.5 36.0 39.5 41.7 45.8 49.9 53.5 54.4 56.0 54.4 55.3```
让我们更进一步,改进从网页中抓取的数据。可以使用reshape2包中的melt()函数,它在快速转换数据框方面特别强大。在这种情况下,我们选择从网站中读入的列表格式,将其改造成有序三元组Year、Month和PMI。同时,也要将PMI转换成数值型,并移除PMI值为NA的观测行(有几个月的PMI没有值)。

df <- melt(df,id.vars='Year')
names(df) <- c('Year','Month','PMI')
df$PMI <- as.numeric(df$PMI)
df <- na.omit(PMI)`

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

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

相关文章

html怎么发布站点地图,新手如何掌握制作和提交网站地图?

网站地图作为根据网站的结构&#xff0c;框架&#xff0c;内容生成的导航网页文件。大多数人都知道网站地图对于提高用户体验有好处&#xff1a;它们为网站访问者指明方向&#xff0c;并帮助迷失的访问者找到他们想看的页面。那么什么是网站地图呢?在开始介绍网站地图的制作与…

利用dns解析来实现网站的负载均衡

当网站的访问量大了就会考虑负载均衡&#xff0c;这也是每一个架构师的基本功了&#xff0c;其基本地位就相当于相声里的说学逗唱&#xff0c;活好不好就看这个了 :)传统的负载均衡思路是单点的&#xff0c;不管你是硬件的还是软件的基本都是这样的原理对于一般的需求来说&…

给网站添加谷歌验证(我不是机器人)

2019独角兽企业重金招聘Python工程师标准>>> 1、去谷歌网站。(如果没有谷歌gmail,也许还要注册gmail并登陆) https://www.google.com/recaptcha/admin#list 2、注册要验证的网站。 Label中随意填写个标签。Choose the type of reCAPTCHA中选择验证类型。第一个是网站…

峰任策划:如何将网站推广做的更有效果

随着互联网的高速发展&#xff0c;互联网行业的竞争也是愈演愈烈。众多的中小企业也纷纷加入网络营销的行列中&#xff0c;建立起属于自家企业的网站&#xff0c;建立起以企业网站为核心的网络推广模式。那么如何来推广自己的网站&#xff0c;如何做好网站推广&#xff0c;目前…

十周后,62%的PHP网站将运行在一个不受支持的PHP版本上

根据W3Techs的统计数据&#xff0c;目前约有78.9&#xff05;的网站使用PHP开发。\\但是&#xff0c;PHP 5.6.x的安全支持将在2018年12月31日正式停止&#xff0c;这标志着对古老的PHP 5.x分支版本的支持都将结束。\\也就是说&#xff0c;从明年开始&#xff0c;大约62&#xf…

你的网站会投放这样的广告么?

我震惊了&#xff0c;钱要赚&#xff0c;但为了公司名誉以及社会影响&#xff0c;就算是广告&#xff0c;能不能有个底线的啊&#xff1f;

无懈可击的Web设计:使用HTML 5和CSS 3提高网站的灵活性与适应性(第3版)

《无懈可击的Web设计:使用HTML 5和CSS 3提高网站的灵活性与适应性(第3版)》基本信息原书名&#xff1a;Bulletproof Web Design&#xff1a;Improving flexibility and protecting against worst-case scenarios with HTML5 and CSS3, Third Edition 原出版社&#xff1a; New …

电商网站中购物车功能模块完善

主要有两方面的问题&#xff1a; 1、登录状态下添加商品到购物车 此时购物车是对应一个用户&#xff0c;很简单&#xff0c;就是将商品的数据插入数据库中即可&#xff0c;但是如果读写频繁的时候&#xff0c;就存在压力问题&#xff0c;此时我们可以使用Redis担任读的部分功能…

thinkphp5项目--企业单车网站(八)(文章板块要点)(删除图片)

thinkphp5项目--企业单车网站&#xff08;八&#xff09;&#xff08;文章板块要点&#xff09;&#xff08;删除图片&#xff09; 项目地址 fry404006308/BicycleEnterpriseWebsite: Bicycle Enterprise Websitehttps://github.com/fry404006308/BicycleEnterpriseWebsite 一、…

云计算及其对您的SEO的影响

云计算及其对您的SEO的影响 互联网对商业世界的影响不容低估&#xff0c;经常使用“革命化”和“提升”等词语来描述当前的气候。过去三十年来&#xff0c;企业逐渐适应互联网&#xff0c;并在网上开展越来越多的业务。互联网技术的进步使得企业竞相跟上&#xff0c;以便他们能…

网站另类推广玩法心得

互联网营销&#xff0c;越来越多的个人或是企业希望通过网上营销将自己的产品或服务推广出去&#xff0c;但是这些站的具体运营呢&#xff0c;多数仅仅停留在把站做起来&#xff0c;而没有太好的推广手段&#xff0c;而如何有访问呢?人们首先想到的就是 SEO&#xff0c;因为通…

HTML易烊千玺网页,易烊千玺弟弟破世界纪录,被扒两天就被人打破,认证网站遭质疑...

近日&#xff0c;世界纪录认证WRCA网站宣布易烊千玺的弟弟易烊昱华成功创造了一个新的世界纪录。在今年八月&#xff0c;易烊昱华以1分50秒66的成绩完成了2个二阶魔方的还原&#xff0c;是世界上完成这个挑战的最小年龄纪录保持者。易烊千玺的亲弟弟虽然还只是一个素人&#xf…

服务器稳定性和seo有什么区别,服务器稳定性对seo有那些帮助

原标题&#xff1a;服务器稳定性对seo有那些帮助一、网站经常性打不开&#xff0c;流量损失大经过努力SEO优化之后&#xff0c;很多关键词都优化上来了&#xff0c;但是用户进来之后发现网站打不开&#xff0c;于是随手就关掉了&#xff0c;一个个精准的流量就这样白白损失掉了…

服务器做网站空间,服务器做网站空间

服务器做网站空间 内容精选换一换本节介绍使用华为云Web应用防火墙(Web Application Firewall&#xff0c;WAF)保护Web服务&#xff0c;且网站域名解析至中国大陆节点服务器的备案场景。如图1所示。① 企业将网站域名(www.example.com)添加至WAF控制台&#xff0c;接入WAF&…

网站攻防之CSRF和XSS跨站脚本攻击

进入正题之前&#xff0c;先扯一番&#xff1a;黑客本义并非某些人以为的利用网络干坏事的人&#xff0c;刚开始或者说现在的很多&#xff0c;黑客是以技术大牛的形式存在的&#xff0c;也就是在网络领域有一门专场的牛人。有些黑客不干坏事而是干好事&#xff0c;比如利用网站…

用Pelican+Github搭建个人博客网站

Title: 用PelicanGithub搭建个人博客网站 Date: 2017-06-4 19:13 Category: 技术博客 Modified: 2018-10-11 19:03 Tags: 博客网站 Slug: pelican-build-site Authors: Victor Lv Summary: 用PelicanGithub搭建个人博客网站 创建仓库 在github上创建一个username.github.io的…

如何在linux上运行asp网站,linux上搭建asp网站

1、需要安装一些依赖包yum –y updateyum -y install gcc gcc-c bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel cairo-devel2.centos6.5上(尽量不要去更改包的…

网站的 计算机主机作用是什么意思,前端主机是什么 前端主机功能介绍【图文】...

前端主机,前端主机是什么意思随着控制、计算机、通信、网络等技术的发展,计算机控制的形式已逐步从单机控制发展成多机控制,并进一步出现了集检测、控制、管理于一体的计算机控制网络,即分布式控制系统(Distributed Control System)。这类系统一般由两级计算机组成:上位机和前端…

html超链接自动跳转,超链接是什么(一打开网页就跳转另一个网站)

超链接标签指的是点击它会跳到html页面内指定的位置或者打开另外一个指定的网页&#xff0c;有这样效果的标签我们就称为超链接标签。在现实中用得最多的有超链接功能的就是a标签&#xff0c;在讲它的应用之前&#xff0c;我们先来讲一下html标签的属性问题。细心的朋友已经发现…

tocat服务器怎么登陆网站,如何登陆tomcat服务器配置

如何登陆tomcat服务器配置 内容精选换一换华为云帮助中心&#xff0c;为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档&#xff0c;帮助您快速上手使用华为云服务。本节介绍如何查看云服务器的mac地址。云服务器的mac地址…