Script buscador dos 1001 discos para ouvir antes de morrer

Há um tempo, um amigo me mostrou o site http://nobrasil.org/1001-discos-para-ouvir-antes-de-morrer, e perguntou se eu conseguia pegar os links pra ele.

Então eu fiz um script em python pra pegar os links =D

Basicamente, o script pega por expressões regulares os links para a página de download de cada disco e depois pega o link de download de cada página
Só que essa abordagem é um pouco ruim porque a maior parte do tempo é perdida nas requisições de download da página, logo, surgiu a idéia de fazer com várias threads.

O que eu fiz foi passar um parâmetro pro script dizendo quantos links cada thread vai pegar, e disparo 1001/X threads pra pegar os links.
Na minha internet de 1MB eu consigo sobrecarregar a rede deixando cada thread responsável por 10 links

Se alguém se interessar e quiser os links: basta rodar o script do seguindo modo:

python downloader.py X | sort

O “| sort” só está ali pra deixar a saída em ordem cresce, porque cada thread pode acabar em um tempo diferente e eu fiquei com preguiça de fazer isso dentro do script =/

No script, eu usei as bibliotecas nativas do python: urllib e re

Download do script: downloader.py (tá comentado =])
Lembrando, não esqueça de mudar a extensão pra .py, o wordpress não me deixa colocar arquivos com extensões de verdade =/

Era isso. Até =]

Ps: Se alguém tiver alguma dúvida, posta aí =]

Anúncios

5 Respostas to “Script buscador dos 1001 discos para ouvir antes de morrer”

  1. Tarcísio Fischer Says:

    Eu lembro desse script xD

  2. Capeta of Doom Says:

    Isso aí, qualquer coisa em python fica massa.
    \,,/_

  3. Vitor R. Says:

    Pegar os links? aihoeahsoehaio ou é bem simples ou é bem complicado. Qual das duas? ^^

  4. É simples, só duas pesquisas usando expressões regulares. O interessante é como usar o urllib e threads =]

  5. Vitor R. Says:

    huuuunn. Entendi. valews!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: