Нужна попытка поймать блок - PullRequest
0 голосов
/ 24 апреля 2020

Функция ниже работает нормально, за исключением случаев, когда она сканирует страницу и обнаруживает, что тег "fullview-news-outer" не существует. Это приводит к ошибке «список индексов вне диапазона» . Как я могу сделать попытку перехвата, чтобы убедиться, что тег «fullview-news-outer» существует, и если он не выходит, установите переменную таблицы соответствующим образом.

def get_news2(ticker):
    """
    Returns a list of sets containing news headline and url
    """
    page_parsed, _ = http_request_get(url=STOCK_URL, payload={'t': ticker}, parse=True)
    table = page_parsed.cssselect('table[class="fullview-news-outer"]')[0]
    ...
    return (df)

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

Вы можете решить проблему без try-catch

page_parsed, _ = http_request_get(url=STOCK_URL, payload={'t': ticker}, parse=True) 
selected = page_parsed.cssselect('table[class="fullview-news-outer"]')
if selected:
    table = selected[0]
0 голосов
/ 24 апреля 2020

как сказал бармар

table = page_parsed.cssselect('table[class="fullview-news-outer"]')
 if len(table) > 0:
      tbl_first = table[0]
...