2010-04-15 20 views
9

Puedo obtener la página html usando urllib, y usar BeautifulSoup para analizar la página html, y parece que tengo que generar un archivo para leer desde BeautifulSoup.Usando urllib y BeautifulSoup para recuperar información de la web con Python

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

¿Hay una manera de llamar BeautifulSoup sin generar archivos de urllib?

Respuesta

18
from BeautifulSoup import BeautifulSoup 

soup = BeautifulSoup(htmlSource) 

No se necesita escritura de archivos: simplemente pase la cadena HTML. También puede pasar el objeto devuelto por urlopen directamente:

f = urllib.urlopen("http://SOMEWHERE") 
soup = BeautifulSoup(f) 
Cuestiones relacionadas