0
J'ai ce script pour analyser un site Web et trouver les articles dont j'ai besoin ..Où et quelle exception dois-je utiliser? Urllib python3
from socket import timeout
from urllib.request import Request, urlopen, URLError
import bs4,urllib.parse
def track(self):
for _object in _objects:
req = Request('http://example.com/item.php?id='+str(_object))
req.add_header('User-Agent',
'Mozilla 5.0')
_URL = urlopen(req).read()
soup = bs4.BeautifulSoup(_URL, "html.parser")
allResults = []
i = 1
for hit in soup.findAll('cite'):
if ("% Off" in hit.text):
allResults.append(str(i) + ". " + hit.text + " | Item => " + _object)
i += 1
if (len(allResults) == 0):
print("No result found for this item => " + _object)
else:
for element in allResults:
print(element)
Je veux lancer une exception, donc quand la connexion a échoué sur le site, ou pour toute autre raison, il couldn » Je sais que je dois utiliser socket.timeout, mais où dois-je le mettre dans le code?
Que se passera au reste du code? si je lance l'exception, la ligne suivante sera exécutée après l'exception, où j'ai défini la variable de soupe – DarkSuniuM
Cela dépend de vous, mais gardez à l'esprit que vous attrapez l'exception, sans la lancer (sauf si vous le souhaitez). Comme vous le faites en boucle, appelez 'continue' et continuez avec le' _object' suivant –