Skip to content

losdmi/mini-readability

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini Readability

Алгоритм обработки HTML-страницы

  1. Из всего HTML-документа сразу берём только тег body
  2. Удаляем элементы, которые явно не содержат полезной информации (теги script, style, iframe и т.д.; элементы с css-классами или аттрибутами id вида sidebar, subscribe и т.д.)
  3. Если на странице есть тег header и в нём есть тег-заголовок (h1-h6), то заменяем header на соответствующий заголовок
  4. Удаляем все лишние атрибуты у тегов (кроме атрибута href у тега a)
  5. Итеративно разворачиваем вложенные теги, удаляем пустые теги, удаляем теги, в которых малый процент текста
  6. Заменяем оставшиеся теги на символ перевода строки, ссылки преобразуем к нужному виду
  7. Ограничиваем длину строк
  8. Сохраняем результат в файл

Направления дальнейшего улучшения скрипта

  1. Считать оценку "информации" для тега и вырезать низкоинформативные теги
  2. Добавить поддержку микроразметки https://schema.org/
  3. Добавить поддержку отдельных правил вырезания тегов для отдельных сайтов

Статьи, на которых проверялась работа скрипта

(см. файл test.py)

  1. https://lenta.ru/news/2018/11/14/sankcii/
  2. https://lenta.ru/news/2018/11/15/itsaprotest/
  3. https://www.gazeta.ru/culture/photo/yubilei_svetlany_surganovoi.shtml
  4. https://www.gazeta.ru/science/photo/buran-2018.shtml
  5. https://www.gazeta.ru/business/2018/11/15/12059587.shtml
  6. https://journal.tinkoff.ru/no-diploma-cash/
  7. https://journal.tinkoff.ru/ask/bolnichniy-bez-raboty/
  8. https://medium.com/@KKruglov/127915b78ce2
  9. https://medium.com/@KKruglov/%D0%B1%D1%83%D0%BC-%D0%BF%D0%BE%D0%B4%D0%BA%D0%B0%D1%81%D1%82%D0%BE%D0%B2-766495006408

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages