[Python-es] Reintentar

Gonzalo V gvm2121 en gmail.com
Mar Ago 25 14:47:02 CEST 2015


Hola a todos.
Tengo un código que hace preguntas a un servidor y algunas veces retorna un
504, el codigo lo maneja bien pero me gustaría que reintentara.
¿Alguien me puede ayudar?
el codigo es:
import urllib.request
import urllib.error
from bs4 import BeautifulSoup
import re, csv
from FuncionCsv import LlenarCsv



fhand=open('isbn.txt')
#csvfile=open('ResultadoScrapping.csv', 'w', newline='')
for line in fhand:
    try:
       req=urllib.request.urlopen('XXXXXXXX'+line)
       resp=req.read()
       soup=BeautifulSoup(resp,'html.parser')

        origen=soup.find(string=re.compile("Origen:
")).find_next().get_text()
        nombre=soup.find(name="h1",itemprop="name").get_text()
        precioAhora=soup.find(name="p",class_="precioAhora").get_text()
        d=soup.find(name="p",class_="stock").get_text()
        disp=d.split()
    except AttributeError:
        disp="no encontrado"
        nombre=''
        origen=''
        precioAhora=''
    except urllib.error.HTTPError as e:
            if e.getcode()==504:
                disp = "sin respuesta del servidor"
                print (e.getcode(),disp)
                csvfile.close()

    print(line,nombre,origen,precioAhora,disp)
    line1=line.split()
    LlenarCsv('Resultado.csv',line1,nombre,origen,precioAhora,disp)
cierracsv()




Saludos,
Gonzalo
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20150825/780365c3/attachment.html>


Más información sobre la lista de distribución Python-es