python csv beautifulsoup mechanize

python - Obtener alrededor de un 404 con mecanizar



csv beautifulsoup (1)

Estoy creando un script de Python que leería un archivo de URL, pero sé que no todos funcionarán. Estoy tratando de encontrar la forma de evitar esto y hacerlo leer la siguiente línea del archivo, en lugar de generar el error que he publicado a continuación. Sé que necesito algún tipo de declaración if, pero no puedo entenderlo.

from mechanize import Browser from BeautifulSoup import BeautifulSoup import csv me = open(''C:/Python27/myfile.csv'') reader = csv.reader(me) mech = Browser() for url in me: response = mech.open(url) html = page.read() soup = BeautifulSoup(html) table = soup.find("table", border=3) for row in table.findAll(''tr'')[2:]: col = row.findAll(''td'') BusinessName = col[0].string Phone = col[1].string Address = col[2].string City = col[3].string State = col[4].string Zip = col[5].string Restaurantinfo = (BusinessName, Phone, Address, City, State) print "|".join(Restaurantinfo)

Cuando ejecuto ese bloque de código, surge este error:

httperror_seek_wrapper: HTTP Error 404: no encontrado

Básicamente lo que estoy pidiendo es cómo hacer que Python ignore eso y pruebe la siguiente URL.


si solo tiene url en su archivo, tal vez sería más sencillo escribir una url por línea y usar algún código como este:

from mechanize import Browser from BeautifulSoup import BeautifulSoup me = open(''C:/Python27/myfile.csv'') mech = Browser() for url in me.readlines(): ...

si quieres conservar tu código, debes usar:

for url in reader: ...