Я нашел эту ссылку [и несколько других], в которой немного говорится о BeautifulSoup для чтения html. В основном он делает то, что я хочу, захватывает заголовок для веб-страницы.
def get_title(url):
html = requests.get(url).text
if len(html) > 0:
contents = BeautifulSoup(html)
title = contents.title.string
return title
return None
Проблема, с которой я сталкиваюсь, заключается в том, что иногда статьи возвращаются с метаданными, прикрепленными в конце с помощью «- some_data». Хорошим примером является эта ссылка на BB C Sport article, в которой указано название:
Джек Чарльтон: Победитель чемпионата мира 1966 года в Англии умер в возрасте 85 лет - BB C Спорт
Я мог бы сделать что-нибудь простое, например, отрезать что-нибудь после последнего символа «-»
title = title.rsplit(', ', 1)[0]
Но это предполагает, что любая мета существует после значения «-». Я не хочу предполагать, что никогда не будет статьи, название которой заканчивается на "- part_of_title"
Я нашел Newspaper3k library , но это определенно больше, чем мне нужно - все, что мне нужно заключается в том, чтобы взять заголовок и убедиться, что он совпадает с тем, что опубликовал пользователь. Мой друг, который указал мне на Newspaper3k, также упомянул, что в нем могут быть ошибки и не всегда правильно находить заголовки, поэтому я был бы склонен использовать что-то еще, если возможно.
Моя текущая мысль - продолжать использовать BeautifulSoup и просто добавьте fuzzywuzzy , что, честно говоря, также поможет с небольшими орфографическими ошибками или различиями в пунктуации. Но я определенно предпочел бы начать с места, которое включало сравнение с точными названиями.