[R-br] Selecionar e copiar conteúdo de página usando apenas o terminal linux
Marcus Nunes
marcus.nunes em gmail.com
Quarta Abril 30 17:21:15 BRT 2014
Walmes,
Eu baixei a página http://www.whoscored.com/Teams/1232 usando o curl no
Terminal do Mac. Rodei
curl http://www.whoscored.com/Teams/1232 > 1232.html
abri o arquivo 1232.html num editor de texto e dentro dele tinha uma tabela
com estes dados que te interessam. Só que eles estão um poco
desorganizados. O que vejo para o Rafael Sóbis é o seguinte:
{"TeamId":1232,"PlayerId":15686,"Field":{"Value":2,"DisplayName":"Overall"},"IsCurrentPlayer":true,"GameStarted":2,"SubOn":0,"SubOff":2,"Yellow":0,"SecondYellow":0,"Red":0,"Goals":2,"Assists":0,"TotalPasses":80,"AccuratePasses":63,"AerialWon":3,"AerialLost":1,"Rating":7.82,"ManOfTheMatch":0,"TotalTackles":1,"Interceptions":2,"Fouls":2,"OffsidesWon":0,"TotalClearances":0,"WasDribbled":1,"TotalShots":7,"ShotsOnTarget":7,"ShotsBlocked":0,"OwnGoals":0,"KeyPasses":2,"Dribbles":0,"WasFouled":0,"Offsides":1,"Dispossesed":2,"Turnovers":5,"TotalCrosses":13,"AccurateCrosses":1,"TotalLongBalls":3,"AccurateLongBalls":3,"TotalThroughBalls":0,"AccurateThroughBalls":0,"RegionCode":"br","TeamRegionCode":"br","TeamName":"Fluminense","PositionText":"Forward","PlayedPositionsRaw":"-AML-AMR-FW-","Height":172,"Weight":67,"FirstName":"Rafael
Augusto","LastName":"Sóbis do Nascimento","KnownName":"Rafael
Sóbis","WSName":"Rafael
Sóbis","DateOfBirth":"\/Date(487810800000)\/","Ranking":1,"PositionShort":"AM(LR),FW","PositionLong":"Attacking
Midfielder (Left, Right) / Forward","Name":"Rafael Sóbis","Age":28}
Eu não sei trabalhar com xml, então não sei te dizer se daria para extrair
algum dado deste html utilizando algo nesta linhas. Entretanto, acho que
daria para extrair algo daí utilizando sed ou awk.
Abs,
2014-04-30 15:32 GMT-03:00 walmes . <walmeszeviani em gmail.com>:
> Saudações,
>
> Preciso ler os dados de uma página mas da forma tradicional, usando XML
> para o exame e retenção dos dados eu não consigo. Os dados são de altura,
> idade, peso, enfim, de jogadores de futebol do campeonato brasileiro. Estão
> disponíveis nessa página, por exemplo, para o Fluminense
>
> *http://www.whoscored.com/Teams/1232 <http://www.whoscored.com/Teams/1232>*
>
> O que me interessa é a tabela com o nome dos jogadores, dados biométricos
> e esportivos. Um selecionar e copiar dessa porção que me interessa traz
> esse conteúdo.
>
> R Name Pos Age cm kg Apps Goal A
> Yel Red SpG PS% AW MoM Rt
> 1 Rafael Sóbis AM(LR),FW 28 172 67 2 2 -
> - - 3.5 78.8 1.5 - 7.82
> 2 Carlinhos D(L) 27 176 72 2 - - - -
> 1 81.1 1 1 7.57
> 3 Gum D(C) 28 189 86 2 - - - - 0.5
> 75.2 2.5 1 7.51
> 4 Wagner AM(C) 29 172 71 2 - - 1 -
> 3 90 - - 7.43
> 5 Bruno Vieira D(R) 28 178 69 2 - - -
> - - 85.9 1.5 - 7.23
> 6 Darío Conca M 30 167 58 2 - - 1 -
> 3 85.9 - - 7.21
> 7 Fred FW 30 185 75 2 1 2 - - 3
> 75.6 1.5 - 7.19
> 8 Diguinho DM(C) 31 171 70 2 - - - -
> 0.5 84.7 1.5 - 7.14
> 9 Elivelton D 21 179 81 2 - - - -
> - 74.6 0.5 - 6.86
> 10 Diego Cavalieri GK 31 191 86 2 - - -
> - - 46.2 - - 6.69
> 11 Jean DM(C) 27 170 70 2 - - - -
> 1 88.6 - - 6.61
> 12 Biro Biro AM(L) 19 164 55 0(1) - - -
> - 1 60 - - 6.47
> 13 Edwin Valencia M 29 181 85 0(2) - - -
> - - 81.8 1 - 6.31
> 14 Rafinha M(R) 20 177 74 0(1) - - -
> - - 50 - - 6
> 15 Walter FW 24 178 88 0(1) - - - -
> - 60 - - 5.95
> 16 Felipe GK 26 193 90 - - - - - -
> - - - -
> 17 Chiquinho AM(C) 24 170 69 - - - -
> - - - - - -
> 18 Kenedy FW 18 182 77 - - - - - -
> - - - -
> 19 Wellington Carvalho D 21 185 84 - - -
> - - - - - - -
> 20 Wellington Silva D 26 177 64 - - - -
> - - - - - -
>
> Quando eu peço o código fonte da página (acesso pelo botão direito do
> mouse no navegador firefox), não aparecem esses valores lá. Se aparecessem
> dava para usar o XML. Pelo jeito os dados são trazidos por uma consulta à
> uma base de dados on the fly para colocar na página. A única forma que eu
> sei de pegar é copiando para área de transferência.
>
> Eu tenho feito assim:
> 1. Abro a página de cada time no navegador e dou ctrol+a para selecionar
> todo o conteúdo;
> 2. Dou ctrol+c para copiar o conteúdo para área de transferência;
> 3. Dou control+v dentro de um arquivo texto;
> 4. Leio o arquivo texto no R, elimino a sujeira, organizo em colunas até
> chegar um data.frame.
>
> O que eu quero é substituir passos gráficos de 1 à 3 por algum comando do
> teminal linux que pudesse pegar a URL que eu passar e salvar o conteúdo em
> um aquivo que eu der o nome. Com isso elimino intervenção humana e
> rapidamente baixo todos os times, de todos os torneios para ter excelentes
> dados para trabalhar em aula. Se alguém se interessar, os dados da liga
> européia (56 times) que peguei no braço estão em
>
> *http://www.leg.ufpr.br/~walmes/data/euro_football_players.txt
> <http://www.leg.ufpr.br/~walmes/data/euro_football_players.txt>*
>
> Dei umas googladas e vi alguns comandos que, infelizmente, ainda não
> trazem o que eu preciso, como
>
> *sudo apt-get install lynx*
> *lynx -dump http://www.whoscored.com/Teams/1232
> <http://www.whoscored.com/Teams/1232>*
>
> O recorte do resultado do comando está abaixo.
>
> View:
> [41]Overall
> [42]Home
> [43]Away
>
> R Name Pos Age cm kg Apps Goal A Yel Red SpG PS% AW MoM Rt
> <------ a tabela que eu queria era pra estar
> *Players shaded are players who are not currently active in team.
> <------ entre essas duas linhas, mas não.
> (Loaned, sold, etc..)
>
> Tournaments:
> [44]Brasileirão
>
> View:
> [45]Overall
> [46]Home
> [47]Away
>
> Caso alguém tenha algum caminho a apontar, fico grato.
> Walmes.
>
> ==========================================================================
> Walmes Marques Zeviani
> LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)
> Departamento de Estatística - Universidade Federal do Paraná
> fone: (+55) 41 3361 3573
> skype: walmeszeviani
> homepage: http://www.leg.ufpr.br/~walmes
> linux user number: 531218
> ==========================================================================
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
--
Marcus Nunes
http://marcusnunes.me/
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140430/c329944c/attachment.html>
Mais detalhes sobre a lista de discussão R-br