+ Responder ao Tópico



  1. #1

    Padrão varrer arquivo HTML

    Fala galera,

    Minha intenção é fazer um script para baixar as atualizações do AVG7 Free,
    estive pensando numa maneira, talvez nao muito simples mais q talvez seja funcional.
    baixamos o arquivo HTML da pagina de updates da Grisoft.

    Código :
    wget [url]http://free.grisoft.com/doc/24/lng/us/tpl/v5[/url]


    Varremos o resultado (um arquivo html) a procura de links que iniciem
    com "http://" e terminem com ".bin" ou ".*", estes são nossos links de update,
    w mandar o wget baixar um por um...


    A pergunta é.. como faço para varrer o $resultado HTML, pegando oq inicia com http:// e termine com .bin
    jogar numa "array" e mandar o wget baixar...


    Obrigado.
    :-D

  2. #2

    Padrão Re: varrer arquivo HTML

    aí já é jogar com expressoes regulares e Perl..
    pois o perl é optimo para essas coisas, náo é por acaso que muitos worms hoje em dia, procuram as suas vitimas pelo google, usando o mesmo esquema que vc quer
    contudo eu apenas posso dar esta dica colega, nao percebo mto de perl.. tb estou a tentar fazer um script que baixe automaticamente os ultimos drivers da nvidia kndo eles estao disponiveis, e até hoje sem sucesso..
    portanto vou acompanhar o topico..
    Um abraço.

  3. #3

    Padrão Re: varrer arquivo HTML

    ninguem ai, que entende melhor de shell script, e sabe melhor utilizar o sed ou awk ?
    este script podera ser util para mais pessoas, nao so pra mim...

    alguma alma ?
    :-D

  4. #4

    Padrão Re: varrer arquivo HTML

    Ae cara, se vc fizer esse seu "wget" imprimir o conteudo na tela, vc pode usar esse script em python q eu acabei de fazer:

    Código :
    # pega_http.py
    import sys
    import sre
     
    texto = sys.stdin.read()
    pat = sre.compile(r'http://.*?\.bin',sre.I|sre.M|sre.S)
    for result in pat.findall():
     print result

    Ai voce pode fazer:
    Código :
    $ wget_milagroso_q_imprimi_o_html_na_tela [url]http://www.seilaoq.com/arquivo.bin[/url] | python pega_http.py
    Ai ele vai imprimir tudo q encontrar na tela

    ps.: Fiz esse codigo de cabeca, por favor, teste e me de retorno (atravéz do forum)

  5. #5

    Padrão Re: varrer arquivo HTML

    cara, nao testei seu script ali, mais como expliquei no post, dê o comando
    Código :
    wget [url]http://free.grisoft.com/doc/24/lng/us/tpl/v5[/url]

    ele vai baixar um arquivo (HTML),
    dentro desse arquivo obviamente temos codigo hypertexto.
    dai varremos esse arquivo a procura de Http:// **** .bin ..
    dai o resultado baixamos com o wget ...

    blz ?

  6. #6

    Padrão Re: varrer arquivo HTML

    Entao, meu script tava com problema tambem...:P
    o script correto é o seguinte(testado):
    Código :
    import sys
    import sre
     
    texto = sys.stdin.read()
    pat = sre.compile(r'http://.*?\.bin',sre.I|sre.M|sre.S)
    print 'Resultados encontrados:'
    for result in pat.findall(texto)[1:]:
     print result

    Ai voce salva isso num arquivo chamado "pega_http.py" e executa o seguinte comando (dentro da pasta que tem esse arquivo):

    Código :
    wget -O - [url]http://free.grisoft.com/doc/24/lng/us/tpl/v5[/url] |python pega_http.py

  7. #7

    Padrão Re: varrer arquivo HTML

    cara, funciono beleza o script, so ele ta deixando de mostra um link .bin um arquivo de update...
    :?