Зацикливание на ошибке, чтобы очистить страницу в Python - PullRequest
0 голосов
/ 15 ноября 2018

Я бы хотел запустить 'if is error' сделать что-то 'else' сделать что-то еще цикл в Python ,

Это общий вопрос, но в моем конкретном приложении я собираю информацию с веб-страницы; переход на следующую страницу; и повторять цикл до тех пор, пока не останется больше страниц для очистки. Таким образом, условие завершения - ошибка, сообщающая, что больше не осталось страниц.

Например:

no_more_pages = False
while no_more_pages == False:
    if link[-1].find('a')['href'] is False:
         no_more_pages = True 
    else:
        current_link = link[-1].find('a')['href']

Очевидно, что синтаксис здесь неправильный. Если бы кто-то мог указать мне правильное направление, это было бы очень полезно.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Не уверен, что я полностью понял ваш вопрос, но вы можете попробовать что-то вроде try, кроме block. Если есть какие-либо ошибки, вызванные условиями оператора if, вы можете поместить код в блок try и, в случае любой ошибки, он выполнит условие exc:

try:
    if not link[-1].find('a')['href'] is False:
        current_link = link[-1].find('a')['href']
except:
    no_more_pages = True
0 голосов
/ 15 ноября 2018

Похоже, вы используете красивый суп.В этом случае ... вы можете использовать .has_attr('href'), если вы пытаетесь проверить атрибут href, который кажется странным ... Если вы просто хотите проверить, присутствует ли ссылка, просто проверьте, существует ли дочерний тег на "ссылка "вы определили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...