Pergunta

Eu posso obter a página HTML usando urllib e usar o BeautifulSoup para analisar a página HTML, e parece que tenho que gerar arquivo para ser lido no BeautifulSoup.

import urllib                                       
sock = urllib.urlopen("http://SOMEWHERE") 
htmlSource = sock.read()                            
sock.close()                                        
--> write to file

Existe uma maneira de chamar o BeautifulSoup sem gerar arquivo de urllib?

Foi útil?

Solução

from BeautifulSoup import BeautifulSoup

soup = BeautifulSoup(htmlSource)

Nenhuma redação de arquivos é necessária: Basta passar na string html. Você também pode passar o objeto devolvido de urlopen diretamente:

f = urllib.urlopen("http://SOMEWHERE") 
soup = BeautifulSoup(f)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top