Библиотека Newspaper3k для Python 3 предназначена для скрейпинга и автоматического парсинга новостных статей. С 2018 года проект не обновляется. Разработчик Андрей Параскив представил проект-форк Newspaper4k, в рамках которого он планирует закрывать баги и продолжать улучшать работу библиотеки.
В 2013 году Лукас Оу-Ян [Lucas Ou-Yang] опубликовал Newspaper, библиотеку для Python 2. Как писал Оу-Ян, проект был вдохновлён requests, уже тогда популярным компонентом Python, и lxml, библиотекой Python для обработки XML и HTML. Как указывал автор, заметные объёмы кода парсера он заимствовал из python-goose
В 2014 году Лукас начинает работу над библиотекой Newspaper3k. Это схожий с newspaper проект, но для Python 3.
Newspaper предназначена для парсинга статей с новостных сайтов. Все данные Newspaper обрабатывает в Юникоде и поддерживает 38 языков, включая русский. В библиотеку встроены автоматические парсеры с механизмами естественной обработки языка. Кстати, поэтому этот проект часто рекомендуют с припиской «искусственный интеллект». Основная задача библиотеки — извлечь релевантные данные (заголовок, автор, тело статьи, изображения, тэги, краткие пересказы и прочее), убрав ненужные элементы и тексты-заглушки, которые не несут полезной информации.
По качеству работы Newspaper и Newspaper3k сравнивали с сервисом социальных закладок Instapaper. Хотя Оу-Ян поделился подробной документацией, библиотека доросла до того, что к ней писали сторонние руководства. Некоторые из них остались на GeeksforGeeks и ScrapeOps: это инструкции по скрейпингу с помощью Newspaper3k.
Какое-то время Лукас развивал две ветки, но со временем забросил вариант для Python 2. С декабря 2014 года Newspaper не обновляется, вариант для Python 2 не поддерживается, и в репозитории github.com/codelucas/newspaper в мастере лежит библиотека Newspaper3k со ссылкой на ветку с Newspaper.
Ещё через четыре года Оу-Ян забросил проект полностью. Последняя версия Newspaper3k 0.2.8 вышла в сентябре 2018. Тем не менее запрос на инструмент не исчез. Иногда встречаются обсуждения с поиском альтернативы Newspaper3k.
На прошлой неделе Андрей Параскив [Andrei Paraschiv] сообщил, что форкнул библиотеку Newspaper3k в новый проект Newspaper4k. Параскив импортировал тикеты из раздела Issues оригинала и начал работу.
Отсчёт версий Newspaper4k Андрей начал с 0.9.0. Как он сообщает, первые два новых релиза (0.9.0 и 0.9.1) содержали в основном исправления багов и обновления проекта для работы с Python 3.6. Уже в версии 0.9.2 начались крупные изменения механизма парсинга документов.
В версии 0.9.3 новый мейнтейнер не только полностью переработал процесс парсинга новостей, но и добавил более 40 новых языков. Сейчас перечисление поддерживаемых языков вышло за 80 штук и уже не умещается на странице описания проекта, поэтому выведено в отдельный файл. Как утверждает Параскив, после изменений добавлять поддержку новых языков проще.
Дополнительно Андрей собрал два датасета для оценки качества парсинга: один со Scrapinghub, а другой собственный — это набор данных с 200 самых популярных сайтов. Последний датасет выложен в отдельном репозитории. Приводится сравнение результатов эффективности парсинга; заметно, что точность повысилась.
Также среди конкретных улучшений версии 0.9.3 — поддержка парсинга результатов Google News с поиском по ключевым словам, теме, стране и прочим параметрам. Параскив заявляет, что в сравнении с 0.2.8 достигнута стабильная работа многопоточного получения новостей.
Как и Newspaper3k, библиотека Newspaper4k распространяется под условиями лицензии MIT.
github.com/AndyTheFactory/newspaper4k
В 2013 году Лукас Оу-Ян [Lucas Ou-Yang] опубликовал Newspaper, библиотеку для Python 2. Как писал Оу-Ян, проект был вдохновлён requests, уже тогда популярным компонентом Python, и lxml, библиотекой Python для обработки XML и HTML. Как указывал автор, заметные объёмы кода парсера он заимствовал из python-goose
В 2014 году Лукас начинает работу над библиотекой Newspaper3k. Это схожий с newspaper проект, но для Python 3.
Newspaper предназначена для парсинга статей с новостных сайтов. Все данные Newspaper обрабатывает в Юникоде и поддерживает 38 языков, включая русский. В библиотеку встроены автоматические парсеры с механизмами естественной обработки языка. Кстати, поэтому этот проект часто рекомендуют с припиской «искусственный интеллект». Основная задача библиотеки — извлечь релевантные данные (заголовок, автор, тело статьи, изображения, тэги, краткие пересказы и прочее), убрав ненужные элементы и тексты-заглушки, которые не несут полезной информации.
По качеству работы Newspaper и Newspaper3k сравнивали с сервисом социальных закладок Instapaper. Хотя Оу-Ян поделился подробной документацией, библиотека доросла до того, что к ней писали сторонние руководства. Некоторые из них остались на GeeksforGeeks и ScrapeOps: это инструкции по скрейпингу с помощью Newspaper3k.
Какое-то время Лукас развивал две ветки, но со временем забросил вариант для Python 2. С декабря 2014 года Newspaper не обновляется, вариант для Python 2 не поддерживается, и в репозитории github.com/codelucas/newspaper в мастере лежит библиотека Newspaper3k со ссылкой на ветку с Newspaper.
Ещё через четыре года Оу-Ян забросил проект полностью. Последняя версия Newspaper3k 0.2.8 вышла в сентябре 2018. Тем не менее запрос на инструмент не исчез. Иногда встречаются обсуждения с поиском альтернативы Newspaper3k.
На прошлой неделе Андрей Параскив [Andrei Paraschiv] сообщил, что форкнул библиотеку Newspaper3k в новый проект Newspaper4k. Параскив импортировал тикеты из раздела Issues оригинала и начал работу.
Отсчёт версий Newspaper4k Андрей начал с 0.9.0. Как он сообщает, первые два новых релиза (0.9.0 и 0.9.1) содержали в основном исправления багов и обновления проекта для работы с Python 3.6. Уже в версии 0.9.2 начались крупные изменения механизма парсинга документов.
В версии 0.9.3 новый мейнтейнер не только полностью переработал процесс парсинга новостей, но и добавил более 40 новых языков. Сейчас перечисление поддерживаемых языков вышло за 80 штук и уже не умещается на странице описания проекта, поэтому выведено в отдельный файл. Как утверждает Параскив, после изменений добавлять поддержку новых языков проще.
Дополнительно Андрей собрал два датасета для оценки качества парсинга: один со Scrapinghub, а другой собственный — это набор данных с 200 самых популярных сайтов. Последний датасет выложен в отдельном репозитории. Приводится сравнение результатов эффективности парсинга; заметно, что точность повысилась.
Также среди конкретных улучшений версии 0.9.3 — поддержка парсинга результатов Google News с поиском по ключевым словам, теме, стране и прочим параметрам. Параскив заявляет, что в сравнении с 0.2.8 достигнута стабильная работа многопоточного получения новостей.
Как и Newspaper3k, библиотека Newspaper4k распространяется под условиями лицензии MIT.
github.com/AndyTheFactory/newspaper4k