On Feb 2, 2009, at 8:36 AM, Luciano Ramalho wrote:
> 2009/2/2 Henrique Baggio <
hnrqbaggio@...>:
>> Procurei um pouco na net sobre alternativas de fazer esse download em
>> python, mas não consegui encontrar muita coisa útil. Tentei usar o
>> módulo
>> urllib, mas não consegui fazê-lo entender a url como um diretório,
>> de forma
>> a listar os arquivos dentro dele.
>
> Oi, Henrique, não existe como "entender a url como um diretório" no
> protocolo HTTP. Existe no FTP, mas no HTTP não existe um comando que
> você possa enviar para o servidor dizer tudo o que tem num diretório.
>
>> Apenas consegui baixar o conteúdo da
>> página html usada pelo servidor para me mostrar a lista de arquivos.
>
> Sim, se você enviar um GET para uma determinada URL, o servidor pode
> te devolver uma listagem de arquivos. Mas isso depende de como o
> servidor foi configurado. Não existe nenhuma obrigação, segundo o
> protocolo HTTP, de que isso seja desta maneira.
>
>> Claro que eu poderia fazer uma gambiarra e procurar os links dos
>> arquivos
>> pelo conteúdo do html
>
> É assim exatamente que funciona o Wget recursivo.
>
>> , mas gostaria de saber se existe alguma outra
>> alternativa, se a linguagem me permite algo mais alto nível. =]
>
>> Alguma idéia?
>>
>> [1]
http://linux.die.net/man/1/wget>
> Procure o wget para Windows (já te deram o link), ou faça um script
> combinando urllib com alguma biblioteca mencionada neste excelente
> post do über-guru Ian Bicking:
>
>
http://blog.ianbicking.org/2008/03/30/python-html-parser-performance/>
> Se for criar sua própria solução, talvez seja legal dar uma lida na
> especificação do HTTP, para sacar o que é possível esperar do
> protocolo. A parte que fala dos métodos (comandos) fica aqui:
>
>
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.htmlE dar uma olhada no harvest man, pra não reinventar a roda:
http://www.harvestmanontheweb.com/se bem que hoje devem existir uns 10 web crawler/spider em python.
--
Leonardo Santagada
santagada at gmail.com