[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