De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Múltiplas buscas num mesmo site

Colaboração: Otávio Penatti

Data de Publicação: 08 de Dezembro de 2004

Há situações nas quais precisamos obter informações de muitos itens em um mesmo site. Eu, por exemplo, tive que pesquisar numa base de dados de enzimas na internet o nome de várias enzimas, porém era inviável ficar digitando código por código no sistema de busca do site e depois analisar página por página para obter o nome da enzima. Para facilitar esse trabalho eu fiz um script shell que faz a busca para mim e já analisa os resultados. Fiz o seguinte:

  • coloquei todos os códigos das enzimas num arquivo texto, separando os códigos por espaço;
  • verifiquei que no site em que eu precisava pesquisar, as consultas eram passadas como parâmetros na URL da página, como abaixo:
  http://us.expasy.org/cgi-bin/get-enzyme-entry?3.2.2.1

Na qual "3.2.2.1" era o código da enzima que eu desejava obter o nome;

  • verifiquei também que na página resultado o nome da enzima aparecia sempre numa linha que começava com a string "DE"

  • então fiz um laço que varre meu arquivo com os códigos das enzimas e coloca cada código na URL da página. Depois, passa essa URL como entrada para o Lynx (browser modo texto) com o parâmetro "-dump", que faz com que o Lynx jogue a página carregada no terminal. Então usei o "grep" para selecionar da página obtida apenas a linha que começasse com "DE".

    O arquivo com os códigos das enzimas (enzimas.txt) ficou assim:

      1.16.3.1 3.1.1.2 3.1.8.1 3.4.21.5 3.4.21.7 3.4.21.47 3.4.21.45 3.4.21.42
    

    O script ficou assim:

      #!/bin/bash
      
      for i in ``cat enzimas.txt``;
      do
        echo $i
        lynx -dump "http://us.expasy.org/cgi-bin/get-enzyme-entry?$i" |
        grep "DE "
      done
    

    Os resultados foram os seguintes:
      1.16.3.1
      DE   Ferroxidase.
      3.1.1.2
      DE   Arylesterase.
      3.1.8.1
      DE   Aryldialkylphosphatase.
      3.4.21.5
      DE   Thrombin.
      3.4.21.7
      DE   Plasmin.
      3.4.21.47
      DE   Alternative-complement-pathway C3/C5 convertase.
      3.4.21.45
      DE   Complement factor I.
      3.4.21.42
      DE   Complement subcomponent C1s.
    

    No terminal então eu chamo o script da seguinte forma:

      ./script.sh
    

    Os resultados também poderiam ser direcionados para um arquivo, como abaixo:
      ./script.sh > resultados.txt
    

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Otávio Penatti