Обойти 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 ответ:
Если у вас есть только 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: ...