Работая в Python, я пытаюсь создать функцию, которая принимает тикер в виде строки и возвращает название компании, используя html данные, полученные из Yahoo! Финансы. У меня это работает для всех компаний, кроме одной, которая содержит апостроф. Я проверил код html и обнаружил, что апостроф закодирован как таковой - я уверен, что он закодирован в ASCII. Вот модифицированная версия html кода:
html = '<!DOCTYPE html><html id="atomic" class="NoJs featurephone" lang="en-US"><head prefix="og: http://ogp.me/ns#"><script>window.performance && window.performance.mark && window.performance.mark(\'PageStart\');</script><meta charset="utf-8"/><title>Dick's Inc (DKS) Company Profile & Facts'
То, что я хотел бы вернуть, это "Дика". То, что я получаю, это просто "Дик". Я использую модуль re и re.search. Вот мой код:
company_name = (re.search(r'(?<=</script><meta charset="utf-8"/><title>)\w+', html).group(0))
Я пытался включить апостроф, чтобы убедиться, что он не останавливается на достигнутом, но, поскольку он не является частью кода html, он нигде его не находит , Должен ли я использовать что-то кроме re.search? Я посмотрел на re.findall, но это не решило бы мою проблему с поиском и включением «», но представляло собой апостроф.