楼主: daishen
1598 2

[程序分享] 英超数据趴取 [推广有奖]

  • 0关注
  • 10粉丝

已卖:127份资源

博士生

6%

还不是VIP/贵宾

-

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

楼主
daishen 发表于 2015-1-22 16:37:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
网上看见很多趴取的方法,但是总是感觉很繁琐,没有体现R的简洁,现在给出一种优化的版本。
library(rvest)
library(rjson)
url = "http://data2.7m.cn/history_Matches_Data/2009-2010/92/en/fixture.js"

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

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

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

a = seq(1,nrow(Total),10)
England = lapply(a, function(i) Total[i:(i+9),])


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


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


二维码

扫码加我 拉你入群

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

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

关键词:英超数据 Birmingham Blackburn function Chester function library 网上

沙发
dawang1987 发表于 2015-1-22 16:41:59
趴取是什么意思?

藤椅
曲散人终 发表于 2015-1-22 16:52:47
学习一下,daishen真是这方面的专家啊。。。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 18:53