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:
...