Я, наконец, выяснил, как разобрать эти данные, вот рабочее решение. У меня все еще есть проблема с датой, но она помещает данные в фрейм данных
ticker = 'AAPL'
NEWS_URL = 'https://finviz.com/news.ashx'
STOCK_URL = 'https://finviz.com/quote.ashx'
page_parsed, _ = http_request_get(url=STOCK_URL, payload={'t': ticker}, parse=True)
table = page_parsed.cssselect('table[class="fullview-news-outer"]')[0]
all_news = page_parsed.cssselect('a[class="tab-link-news"]')
headers = ['Datetime', 'Description', 'Space', 'Source']
urls = [row.get('href') for row in all_news]
data = [dict(zip(headers, row.xpath('td//text()'))) for row in table[0:]]
df1 = pd.DataFrame(urls)
df2 = pd.DataFrame(data)
mergedDf = df2.merge(df1, left_index=True, right_index=True)
mergedDf = mergedDf.rename(columns={0: "url"})
mergedDf = mergedDf.drop(['Space'], axis=1)
mergedDf['ticker'] = ticker