library("rvest")
## Loading required package: xml2
url <- "http://www.espn.com/nfl/statistics/player/_/stat/passing/sort/passingYards/year/2017/seasontype/2"
QB_Data <- read_html(url)
QB<-QB_Data%>%html_nodes("table")%>%.[1]%>%html_table(fill=TRUE)
QB
## [[1]]
## X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
## 1 RK PLAYER TEAM COMP ATT PCT YDS YDS/A LONG TD INT
## 2 1 Tom Brady, QB NE 385 581 66.3 4,577 7.88 64 32 8
## 3 2 Philip Rivers, QB LAC 360 575 62.6 4,515 7.85 75 28 10
## 4 3 Matthew Stafford, QB DET 371 565 65.7 4,446 7.87 71 29 10
## 5 4 Drew Brees, QB NO 386 536 72.0 4,334 8.09 54 23 8
## 6 5 Ben Roethlisberger, QB PIT 360 561 64.2 4,251 7.58 97 28 14
## 7 6 Matt Ryan, QB ATL 342 529 64.7 4,095 7.74 88 20 12
## 8 7 Kirk Cousins, QB WSH 347 540 64.3 4,093 7.58 74 27 13
## 9 8 Alex Smith, QB KC 341 505 67.5 4,042 8.00 79 26 5
## 10 9 Russell Wilson, QB SEA 339 553 61.3 3,983 7.20 74 34 11
## 11 10 Jared Goff, QB LAR 296 477 62.1 3,804 7.98 94 28 7
## 12 RK PLAYER TEAM COMP ATT PCT YDS YDS/A LONG TD INT
## 13 11 Blake Bortles, QB JAX 315 523 60.2 3,687 7.05 75 21 13
## 14 12 Case Keenum, QB MIN 325 481 67.6 3,547 7.37 65 22 7
## 15 13 Jameis Winston, QB TB 282 442 63.8 3,504 7.93 70 19 11
## 16 14 Derek Carr, QB OAK 323 515 62.7 3,496 6.79 87 22 13
## 17 15 Eli Manning, QB NYG 352 571 61.6 3,468 6.07 77 19 13
## 18 16 Dak Prescott, QB DAL 308 490 62.9 3,324 6.78 81 22 13
## 19 17 Andy Dalton, QB CIN 297 496 59.9 3,320 6.69 77 25 12
## 20 18 Cam Newton, QB CAR 291 492 59.1 3,302 6.71 64 22 16
## 21 19 Carson Wentz, QB PHI 265 440 60.2 3,296 7.49 72 33 7
## 22 20 Marcus Mariota, QB TEN 281 453 62.0 3,232 7.14 75 13 15
## 23 RK PLAYER TEAM COMP ATT PCT YDS YDS/A LONG TD INT
## 24 21 Joe Flacco, QB BAL 352 549 64.1 3,141 5.72 66 18 13
## 25 22 Jacoby Brissett, QB IND 276 469 58.8 3,098 6.61 80 13 7
## 26 23 Josh McCown, QB NYJ 267 397 67.3 2,926 7.37 69 18 9
## 27 24 DeShone Kizer, QB CLE 255 476 53.6 2,894 6.08 56 11 22
## 28 25 Tyrod Taylor, QB BUF 263 420 62.6 2,799 6.66 47 14 4
## 29 26 Jay Cutler, QB MIA 266 429 62.0 2,666 6.21 65 19 14
## 30 27 Trevor Siemian, QB DEN 206 349 59.0 2,285 6.55 44 12 14
## 31 28 Mitchell Trubisky, QB CHI 196 330 59.4 2,193 6.65 70 7 7
## 32 29 Carson Palmer, QB ARI 164 267 61.4 1,978 7.41 46 9 7
## 33 30 Brett Hundley, QB GB 192 316 60.8 1,836 5.81 55 9 12
## 34 RK PLAYER TEAM COMP ATT PCT YDS YDS/A LONG TD INT
## 35 31 Deshaun Watson, QB HOU 126 204 61.8 1,699 8.33 72 19 8
## 36 32 Aaron Rodgers, QB GB 154 238 64.7 1,675 7.04 72 16 6
## 37 33 Jimmy Garoppolo, QB NE/SF 120 178 67.4 1,560 8.76 61 7 5
## 38 34 C.J. Beathard, QB SF 123 224 54.9 1,430 6.38 83 4 6
## 39 35 Tom Savage, QB HOU 125 223 56.1 1,412 6.33 57 5 6
## 40 36 Brian Hoyer, QB NE/SF 119 205 58.0 1,245 6.07 59 4 4
## 41 37 Ryan Fitzpatrick, QB TB 96 163 58.9 1,103 6.77 41 7 3
## 42 38 Brock Osweiler, QB DEN 96 172 55.8 1,088 6.33 54 5 5
## 43 39 Blaine Gabbert, QB ARI 95 171 55.6 1,086 6.35 52 6 6
## 44 40 Drew Stanton, QB ARI 79 159 49.7 894 5.62 52 6 5
## X12 X13 X14
## 1 SACK RATE YDS/G
## 2 35 102.8 286
## 3 18 96.0 282
## 4 47 99.3 278
## 5 20 103.9 271
## 6 21 93.4 283
## 7 24 91.4 256
## 8 41 93.9 256
## 9 35 104.7 269
## 10 43 95.4 249
## 11 25 100.5 254
## 12 SACK RATE YDS/G
## 13 24 84.7 230
## 14 22 98.3 236
## 15 33 92.2 270
## 16 20 86.4 233
## 17 31 80.4 231
## 18 32 86.6 208
## 19 39 86.6 208
## 20 35 80.7 206
## 21 28 101.9 254
## 22 27 79.3 215
## 23 SACK RATE YDS/G
## 24 27 80.4 196
## 25 52 81.7 194
## 26 39 94.5 225
## 27 38 60.5 193
## 28 46 89.2 187
## 29 20 80.8 190
## 30 33 73.3 208
## 31 31 77.5 183
## 32 22 84.4 283
## 33 29 70.6 167
## 34 SACK RATE YDS/G
## 35 19 103.0 243
## 36 22 97.2 239
## 37 8 96.2 260
## 38 19 69.2 204
## 39 21 71.4 177
## 40 16 74.1 208
## 41 7 86.0 184
## 42 10 72.5 181
## 43 23 71.9 217
## 44 7 66.4 179
In my position we do a lot of compeitior analysis, so using R to scrape data would allow me to easily compile large sums of competitior and industry data and compare it to our own using Excel. For example, I work at NBCUniversal and look at a lot of viewer metrics, this way of scraping would easily bring all the data we could possibly find on the into one place so that analysis could be conducted.