Веб-очистка Python: как пропустить ошибку URL - PullRequest
1 голос
/ 19 октября 2019

Я пытаюсь почистить веб-страницу ("coinmarketcap"). Я копирую данные с 2013 по 2019 октябрь (Open, High, Low, Close, Marketcap, Volume) всех криптовалют.

for j in range (0,name_size):
   url = ("https://coinmarketcap.com/currencies/" + str(name[j]) + "/historical-data/?start=20130429&end=20191016")
   page = urllib.request.urlopen(url)

   soup = BeautifulSoup(page, 'html.parser')

   priceDiv = soup.find('div', attrs={'class':'table-responsive'})
rows = priceDiv.find_all('tr')

Проблема в том, что некоторый URL не существует. И я не знаю, как их пропустить. Можете ли вы помочь мне?

Ответы [ 2 ]

0 голосов
/ 19 октября 2019

использовать перехват ошибок.

try: 
    #do the thing
except Exception as e:
    #here you can print the error

Ошибочные будут просто пропущены при выводе сообщения на печать, иначе задание будет продолжено

0 голосов
/ 19 октября 2019

Использование try-except

for j in range (0,name_size):
   url = ("https://coinmarketcap.com/currencies/" + str(name[j]) + "/historical-data/?start=20130429&end=20191016")
   try: 
       page = urllib.request.urlopen(url)
       soup = BeautifulSoup(page, 'html.parser')
       priceDiv = soup.find('div', attrs={'class':'table-responsive'})
   except:
       print("Coult not open url")

rows = priceDiv.find_all('tr')
...