使用XML抓取表格数据
install.packages("XML")
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/XML_3.98-1.19.zip'
Content type 'application/zip' length 4324690 bytes (4.1 MB)
downloaded 4.1 MB
package ‘XML’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\L2M201N003\AppData\Local\Temp\Rtmpi0lYxz\downloaded_packages
library(XML)
Warning message:
程辑包‘XML’是用R版本3.4.4 来建造的
url <- 'http://www.stat-nba.com/team/GSW.html'
dt1 <- readHTMLTable(url,header = T)
names(dt1[[1]]) <- rvest::repair_encoding(names(dt1[[1]]))
head(dt1[[1]])
1 斯蒂芬-库里 62 62 34.3 46.9% 9.3 19.9 43.1% 5.1 11.9 91.2% 4.0 4.4 5.4 0.7 4.7
2 凯文-杜兰特 71 71 35.2 51.6% 9.5 18.4 35.1% 1.8 5.1 88.5% 6.1 6.8 6.5 0.5 6.1
3 克莱-汤普森 71 71 34.4 46.9% 8.6 18.4 40.1% 3.1 7.8 81.8% 1.8 2.2 4.0 0.5 3.5
4 德马库斯-考辛斯 24 24 26.0 48.4% 5.8 12.0 25.7% 0.8 2.9 76.1% 3.6 4.7 8.0 1.4 6.6
5 德雷蒙德-格林 59 59 31.4 43.5% 2.7 6.3 27.4% 0.7 2.5 67.9% 1.0 1.4 7.3 0.9 6.4
6 约纳斯-杰雷布科 66 6 16.9 46.3% 2.2 4.8 36.3% 0.9 2.5 81.3% 0.9 1.1 4.1 1.0 3.1
助攻 抢断 盖帽 失误 犯规 得分
1 5.3 1.3 0.4 2.9 2.5 27.8
2 5.7 0.8 1.1 3.0 2.0 26.8
3 2.4 1.1 0.6 1.5 2.1 22.1
4 3.7 1.3 1.5 2.4 3.7 15.9
5 6.9 1.4 1.0 2.6 3.2 7.1
6 1.3 0.3 0.2 0.6 1.8 6.3
#练习 爬取达拉斯独行侠队数据
> url="http://www.stat-nba.com/team/DAL.html"
> dt2 <- readHTMLTable(url,header = T)
> names(dt2[[1]]) <- rvest::repair_encoding(names(dt2[[1]]))
Best guess: UTF-8 (100% confident)
> head(dt2[[1]])
球员 出场 首发 时间 投篮 命中 出手 三分 命中 出手 罚球 命中 出手 篮板 前场 后场
1 卢卡-东契奇 70 70 32.3 42.5% 7.0 16.4 32.7% 2.3 7.2 70.9% 4.8 6.8 7.6 1.1 6.5
2 哈里森-巴恩斯 49 49 32.2 40.4% 5.9 14.6 38.9% 2.5 6.3 83.3% 3.4 4.0 4.2 0.7 3.5
3 蒂姆-哈达威二世 19 17 29.3 40.4% 5.7 14.1 32.1% 2.4 7.4 76.7% 1.7 2.3 3.2 0.4 2.8
4 韦斯利-马修斯 44 44 29.8 41.4% 4.4 10.7 38.0% 2.3 6.0 79.1% 2.0 2.5 2.3 0.5 1.9
5 小丹尼斯-史密斯 32 32 28.4 44.0% 4.9 11.2 34.4% 1.3 3.9 69.5% 1.8 2.6 3.0 0.6 2.5
6 德安德鲁-乔丹 50 50 31.1 64.4% 4.2 6.5 0.0 0.0 68.2% 2.7 4.0 13.7 3.2 10.5
助攻 抢断 盖帽 失误 犯规 得分
1 5.9 1.1 0.3 3.4 1.9 21.1
2 1.3 0.7 0.2 1.4 1.6 17.7
3 1.9 0.6 0.1 1.3 1.8 15.5
4 2.3 0.8 0.3 1.3 2.3 13.1
5 4.3 1.3 0.3 3.1 2.6 12.9
6 2.0 0.7 1.1 2.2 2.5 11.0