楼主: daishen
1319 3

[R] 英超数据趴取的优化版 [推广有奖]

  • 0关注
  • 10粉丝

已卖:127份资源

博士生

6%

还不是VIP/贵宾

-

威望
0
论坛币
3155 个
通用积分
51.3742
学术水平
67 点
热心指数
68 点
信用等级
42 点
经验
3733 点
帖子
111
精华
0
在线时间
324 小时
注册时间
2014-9-14
最后登录
2016-3-10

楼主
daishen 发表于 2015-3-2 15:59:21 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
      网上看见很多趴取的方法,但是总是感觉很繁琐,
      没有体现R的简洁,现在给出一种优化的版本。

  1. library(rvest)
  2. library(rjson)
  3. url = "http://data2.7m.cn/history_Matches_Data/2009-2010/92/en/fixture.js"

  4. dat = url %>% html() %>% html_nodes('p') %>% html_text()
  5. data = strsplit(dat,"\r\n")

  6. nb = c(6,7,11,8,12)
  7. d = lapply(nb,function(i) data[[1]] %>%
  8.         substr(regexpr("\\[",.)[1],regexpr("\\]",.)[1]) %>% fromJSON)

  9. Total = do.call(cbind,d) %>% as.data.frame
  10. names(Total) = c('轮次','日期','主队','得分','客队')

  11. a = seq(1,nrow(Total),10)
  12. England = lapply(a, function(i) Total[i:(i+9),])
复制代码



  1. > England[[38]]
  2.       轮次                           日期                主队     得分              客队
  3. 371   38 2010,05,09,23,00,00           Everton 1-0(0-0)        Portsmouth
  4. 372   38 2010,05,09,23,00,00   West Ham United 1-1(1-1)   Manchester City
  5. 373   38 2010,05,09,23,00,00  Bolton Wanderers 2-1(1-0)        Birmingham
  6. 374   38 2010,05,09,23,00,00 Manchester United 4-0(2-0)        Stoke City
  7. 375   38 2010,05,09,23,00,00        Chelsea FC 8-0(2-0)    Wigan Athletic
  8. 376   38 2010,05,09,23,00,00       Aston Villa 0-1(0-0)  Blackburn Rovers
  9. 377   38 2010,05,09,23,00,00            Wolves 2-1(1-1)        Sunderland
  10. 378   38 2010,05,09,23,00,00           Burnley 4-2(1-2) Tottenham Hotspur
  11. 379   38 2010,05,09,23,00,00           Arsenal 4-0(3-0)            Fulham
  12. 380   38 2010,05,09,23,00,00         Hull City 0-0(0-0)         Liverpool
复制代码


  1. > England[[1]]
  2.    轮次                         日期              主队      得分            客队
  3. 1     1 2009,08,15,19,45,00        Chelsea FC 2-1(1-1)       Hull City
  4. 2     1 2009,08,15,22,00,00  Blackburn Rovers 0-2(0-1) Manchester City
  5. 3     1 2009,08,15,22,00,00            Wolves 0-2(0-1) West Ham United
  6. 4     1 2009,08,15,22,00,00  Bolton Wanderers 0-1(0-1)      Sunderland
  7. 5     1 2009,08,15,22,00,00        Stoke City 2-0(2-0)         Burnley
  8. 6     1 2009,08,15,22,00,00        Portsmouth 0-1(0-1)          Fulham
  9. 7     1 2009,08,15,22,00,00       Aston Villa 0-2(0-1)  Wigan Athletic
  10. 8     1 2009,08,16,00,30,00           Everton 1-6(0-3)         Arsenal
  11. 9     1 2009,08,16,20,30,00 Manchester United 1-0(1-0)      Birmingham
  12. 10    1 2009,08,16,23,00,00 Tottenham Hotspur 2-1(1-0)       Liverpool
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:英超数据 Birmingham Blackburn function Chester R软件 数据抓取 英超数据

已有 3 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Nicolle + 20 + 20 精彩帖子
niuniuyiwan + 100 + 100 + 5 + 5 + 5 精彩帖子
fantuanxiaot + 10 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 130  论坛币 + 120  学术水平 + 6  热心指数 + 6  信用等级 + 6   查看全部评分

本帖被以下文库推荐

沙发
ryoeng 在职认证  发表于 2015-3-28 12:10:25
提示: 作者被禁止或删除 内容自动屏蔽

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-26 20:38