[R-br] Selecionar e copiar conteúdo de página usando apenas o terminal linux

Fernando Mayer fernandomayer em gmail.com
Quarta Abril 30 19:31:30 BRT 2014


Walmes,

outra opção é dar uma olhada no xclip. Algo como

xclip -out -selection clip > <arquivo.txt>

vai colar o conteúdo do clipboard para o arquivo txt. Talvez de para
eliminar algumas etapas com ele (nunca usei mais do que isso, mas sei que
ele tem loops também). De uma olhada em
http://linuxtidbits.wordpress.com/2008/02/22/command-line-to-clipboard/



---
Fernando de Pol Mayer
Laboratório de Estatística Ambiental - LEA
Instituto de Matemática, Estatística e Física - IMEF
Universidade Federal do Rio Grande - FURG
URL: http://fernandomayer.github.io
e-mail: fernando.mayer [@] {gmail.com, furg.br}


2014-04-30 19:26 GMT-03:00 Alisson Lucrecio <alissonluc em gmail.com>:

> Caro Walmes,
>
> Boa noite.
>
> Eu tenho um solução com python. Segue o códigos e o scrip que fiz no
> ipython notebook. Depois vc poderia salvar em csv e rodar a estatística com
> R.
>
> Att.
>
>
> ##--------------------------------------##---------------------------####--------------------------------------##---------------------------####--------------------------------------##---------------------------##
>
> from ghost import Ghost
> from bs4 import BeautifulSoup as bs
> import regex
> import pandas
>
> page = ghost.open("http://www.whoscored.com/Teams/1232")
>
> soup = bs(ghost.content)
>
> table = soup.find('tbody', { "id" : "team-squad-stats-summary-content" })
>
> players = table.findAll('tr')
>
> data_all = {}
> for player in players:
>     cols = player.findAll('td')
>     data = [col.get_text() for col in cols]
>     data_all[data[2]] = data
>
> pandas.DataFrame(data_all).T
>
>
> 01 23 45 67 89 1011 1213 1415 16Biro Biro 12 Biro Biro AM(L)19 16455 0(1)--
> - -1 60- -6.47 Bruno Vieira5 Bruno Vieira D(R)28 17869 2- -- -- 85.91.5 -
> 7.23 Carlinhos2 Carlinhos D(L)27 17672 2- -- -1 81.11 17.57 Chiquinho17
> Chiquinho AM(C)24 17069 -- -- -- -- -- Darío Conca6 Darío Conca M30 167582
> - -1 -3 85.9- -7.21 Diego Cavalieri10 Diego Cavalieri GK31 19186 2- -- --46.2
> - -6.69 Diguinho8 Diguinho DM(C)31 17170 2- -- -0.5 84.71.5 -7.14 Edwin
> Valencia13 Edwin Valencia M29 18185 0(2)- -- -- 81.81 -6.31 Elivelton9
> Elivelton D21 17981 2- -- -- 74.60.5 -6.86 Felipe16 Felipe GK26 19390 -- -
> - -- -- -- Fred7 Fred FW30 18575 21 2- -3 75.61.5 -7.19 Gum3 Gum D(C)28189
> 86 2- -- -0.5 75.22.5 17.51 Jean11 Jean DM(C)27 17070 2- -- -1 88.6- -6.61Kenedy
> 18 Kenedy FW18 18277 -- -- -- -- -- Rafael Sóbis1 Rafael Sóbis AM(LR),FW28172
> 67 22 -- -3.5 78.81.5 -7.82 Rafinha14 Rafinha M(R)20 17774 0(1)- -- -- 50--
> 6 Wagner4 Wagner AM(C)29 17271 2- -1 -3 90- -7.43 Walter15 Walter FW24 178
> 88 0(1)- -- -- 60- -5.95 Wellington Carvalho19 Wellington Carvalho D21 185
> 84 -- -- -- -- -- Wellington Silva20 Wellington Silva D26 17764 -- -- -- -
> - --
>
>
> ##--------------------------------------##---------------------------####--------------------------------------##---------------------------####--------------------------------------##---------------------------##
>
>
>
> 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.
>>
>
>
>
> --
> Alisson Lucrecio da Costa
>
> _______________________________________________
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140430/2757cd85/attachment-0001.html>


Mais detalhes sobre a lista de discussão R-br