Обойти 404 с помощью mechanize


Я создаю скрипт на Python, который будет читать файл URL-адресов, но я знаю, что не все из них будут работать. Я пытаюсь понять, как обойти это и заставить его прочитать следующую строку файла, вместо того, чтобы вызывать ошибку, которую я опубликовал ниже. Я знаю, что мне нужно какое-то утверждение "Если", но я не могу его понять.

from mechanize import Browser
from BeautifulSoup import BeautifulSoup
import csv

me = open('C:Python27myfile.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)

Когда я запускаю этот блок кода, он вызывает эту ошибку:

Httperror_seek_wrapper: ошибка HTTP 404: не найден

В основном что Я спрашиваю, Как заставить Python игнорировать это и попробовать следующий URL.

1 3

1 ответ:

Если у вас есть только url-адрес в вашем файле, возможно, было бы проще написать один url-адрес в строке и использовать такой код:

from mechanize import Browser
from BeautifulSoup import BeautifulSoup


me = open('C:\Python27\myfile.csv')
mech = Browser()

for url in me.readlines():
    ...

Если вы хотите сохранить свой код, вы должны использовать :

for url in reader:
    ...