Удобный агрегатор новостей, который по праву считается одним из лучших преемников Google Reader. Сервис доступен на всех платформах и помогает легко находить самое интересное в интернете, формируя новостные ленты. Feedly позволяет следить за обновлениями сайтов и блогов, создавать коллекции материалов и откладывать их для дальнейшего прочтения.
2. Pocket
Pocket давно стал для многих инструментом отложенного чтения. Сервис может похвастаться отличной системой рекомендаций контента, основанной на читательских предпочтениях. Каждый день через Pocket проходят сотни тысяч материалов, из которых кураторы отбирают самые популярные и добавляют их ежедневную рассылку.
3. Flipboard
Flipboard позиционируется как полноценный цифровой журнал, который верстаете вы сами. Вернее, это делают умные алгоритмы, исходя из указанных интересов. Вам же остаётся наслаждаться отобранным контентом, открывать для себя что-то новое и не забывать оценивать материалы, чтобы улучшить точность подбора.
Экстренный вызов | 06 июля 2023 | Происшествия Новосибирской области | Телеканал ОТС
4. Google Новости
Официальный агрегатор новостей от Google. Показывает сводку горячих событий, отсортированные по категориям материалы, а также рекомендации на основе ваших интересов. По умолчанию отображаются местные новости, но можно выбрать любой другой регион и язык. Помимо этого, есть подписка на определённые места и источники, а также избранное и погода.
5. Reddit
Reddit в шутку называют стартовой страницей интернета, но в этом есть изрядная доля правды. Здесь легко найти информацию обо всём на свете, а в тематических сообществах всегда можно увидеть картину дня, показывающую тренды в той или иной сфере. Всё, что нужно сделать, — это подписаться на сабреддиты интересующей вас тематики и просто читать их.
6. Digg
Как и у Reddit, все публикуемые материалы Digg оцениваются сообществом. Это позволяет быстро выводить в топ действительно важные темы, которые увидят миллионы людей. В сервисе есть несколько тематических категорий, выбор редакции, лонгриды. Во время просмотра материалы можно отсортировать по новизне или популярности.
7. Quora
Если интересующей вас информации не существует в принципе, то на Quora можно задать волнующий вопрос и получить развёрнутый ответ квалифицированных экспертов. Находить контент можно через поиск или подписавшись на интересующие темы. Есть также раздел Top Stories, куда попадают самые популярные материалы из всех категорий.
8. Mix
Подобно другим инструментам из этой подборки, Mix является агрегатом контента. Сервис анализирует множество разнообразных источников, отбирает самые популярные материалы и показывает их в персональных лентах, учитывающих интересы человека. В Mix есть раздел Explore для поиска нового контента, а также тематические коллекции и возможность создания собственных подборок.
9. Google Оповещения
Простой, но очень функциональный сервис от Google, позволяющий следить за новостями в определённой сфере. С его помощью можно мониторить материалы конкретных изданий, персон и просто новости по тем или иным запросам. Настройте уведомления, и вы никогда не пропустите интересующие вас материалы.
Мeta запустила приложение Threads I АМЕРИКА
10. Pinterest
На Pinterest можно искать только графический контент, но это такое место, где действительно найдётся все. Здесь легко обнаружить источник вдохновения и почерпнуть идеи для самых различных сфер: домашнего декора, веб-дизайна, кулинарии, макияжа и множества других. Вдобавок к удобному поиску есть отличная система рекомендаций, с которой никогда не будет недостатка в контенте.
- 200 бесплатных сервисов на все случаи жизни →
- «Перфекционизм — отрава». 8 инсайтов о личной эффективности и стратегиях успеха →
- 16 сайтов с бесплатными стоковыми видео →
- 30 сайтов для тех, кто интересуется космосом →
- 15 сервисов и приложений, которые сделают вас умнее, прокачают память и эрудицию →
Источник: lifehacker.ru
Свой агрегатор новостей на python. Телеграм + RSS + новостные сайты (telethon, feedparser, scrapy)
freepik
Здравствуйте дорогие хабровчане, в этом посте я хочу показать, как написать свой агрегатор новостей. Конечно, сразу становится очевидно, что это очередное изобретение велосипеда, однако анализируя существующие решения я всё время натыкался на камни преткновения. То они слишком медленно обновлялись, то не было нужных мне источников или часто бывало, что вообще ничего не работало без возможности починить. В итоге я написал своё решение.
Автор статьи приторговывает на бирже, и главной мотивацией было собрать все новости по интересующей теме в одном месте, чтобы не мониторить десяток различных источников вручную.
Текст под катом по большей части технический и будет, скорее всего, интересен читателям, которые сами торгуют на бирже и при этом в IT теме, либо тем, кто сам давно хотел написать агрегатор чего-нибудь.
Об агрегаторе новостей я размышлял уже давно. Во время торговли на бирже мне постоянно приходилось мониторить десяток авторитетных источников, особенно это напрягало, когда должна была выйти какая-нибудь новость, которая точно будет влиять на курс цены акций. В такие моменты было особенно сложно и обидно, когда подобную новость я пропускал. В общем, мне нужен был инструмент, с которым я мог бы оставаться в курсе всего.
Чтобы упростить понимание я написал два агрегатора, один — простой, его рассмотрю здесь. Код второго агрегатора, которым я пользуюсь сам, будет приложен в конце статьи. Простой агрегатор, в сущности, является более упрощённой версией сложного.
Основными источниками информации были телеграм каналы и новостные сайты. Для парсинга телеграма я выбрал telethon. Новости с сайтов можно забирать через RSS каналы с помощью feedparser. Однако, не на всех сайтах есть RSS, в этом случае буду парсить сайт напрямую используя scrapy. Полученные новости сливаются в отдельный телеграм канал с указанием источника.
Каждый парсер написан таким образом, чтобы его можно было запустить отдельно от остальных. Это значительно упрощает процесс добавления новых источников, их лучше проверять отдельно, чтобы убедиться в работоспособности. Например, feedparser может не прочитать RSS канал и тогда его придется парсить вручную.
1. Парсим телеграм канал
Чтобы telethon работал, необходимо для своего телеграм аккаунта создать переменные api_id и api_hash на сайте my.telegram.org и добавить эти параметры в скрипт. При первом запуске telethon сам создаёт файл с названием сессии (в нашем случае это gazp.session ), его удалять не нужно, иначе придётся проходить аутентификацию ещё раз при следующем запуске.
Показать.
2. Парсим RSS
Примечание: RSS — крайне удобная вещь, в сущности это xml-файл, который мало весит, и в котором нет ничего лишнего. Такой файл сервер отдаёт без лишней нагрузки и клиент может легко его распарсить, имея при этом минимальные задержки для обновления.
Так как парсер забирает каждый раз N новостей, то каждый раз скачиваются старые новости, которые уже были напечатаны/отправлены. Для решения этой проблемы я ввёл очередь posted_q . Ясно, что вообще все сообщения сохранять не вариант, т.к. это потребует много памяти и, в конечном счёте, приведёт к ошибке MemoryError , когда она закончится. Кроме того в большом массиве долго проверять сообщения на повтор.
Таким образом, устаревшие сообщения нужно удалять, а новые сохранять, что и происходит в очереди. Слева в неё входят свежие новости, а справа удаляются старые, т.е. хранится всего N сообщений в моменте. В качестве ключа в очередь сохраняются первые 50 символов от текста новости, что также сделано для ускорения работы скрипта.
Парсер скачивает новости с RSS канала сайта www.rbc.ru.
Показать.
import httpx import asyncio from collections import deque import feedparser async def rss_parser(httpx_client, posted_q, n_test_chars, send_message_func=None): »’Парсер rss ленты»’ rss_link = ‘https://rssexport.rbc.ru/rbcnews/news/20/full.rss’ while True: try: response = await httpx_client.get(rss_link) except: await asyncio.sleep(10) continue feed = feedparser.parse(response.text) for entry in feed.entries[::-1]: summary = entry[‘summary’] title = entry[‘title’] news_text = f’n’ head = news_text[:n_test_chars].strip() if head in posted_q: continue if send_message_func is None: print(news_text, ‘n’) else: await send_message_func(f’rbc.run’) posted_q.appendleft(head) await asyncio.sleep(5) if __name__ == «__main__»: # Очередь из уже опубликованных постов, чтобы их не дублировать posted_q = deque(maxlen=20) # 50 первых символов от текста новости — это ключ для проверки повторений n_test_chars = 50 httpx_client = httpx.AsyncClient() asyncio.run(rss_parser(httpx_client, posted_q, n_test_chars))
3. Парсим сайт напрямую
Кастомный парсер работает так же, как и RSS парсер, за тем лишь исключением, что используется scrapy вместо feedparser и скачивается вся страница, в которой кроме новостей ещё есть куча всего. Из-за этого приходится выставлять бо́льшую паузу между обращениями, ведь если слишком активно напрягать сервер, он может и забанить на какое-то время.
Подобный вид скриптов приходится писать, если у новостного сайта нет оперативно обновляемого телеграм и/или RSS канала. Парсер скачивает новости напрямую с сайта www.bcs-express.ru.
Показать.
4. Запускаем все парсеры разом
Т.к. каждый парсер реализован асинхронно, то, чтобы они работали все вместе, добавим их в один общий цикл событий (event_loop). Это сделано для экономии ресурсов.
Примечание: в обычном синхронном коде, когда процесс в исполняющем потоке доходит до места, где требуются внешние ресурсы, он блокирует исполнение, ожидая ответа. При асинхронной реализации программы исполняющий поток занимается другим процессом — за счет этого и увеличивается производительность.
Тут же стоит отметить, что очередь posted_q (класс deque() модуля collections в python) является потокобезопасной, т.е. можно спокойно добавлять в неё новости из разных парсеров.
Показать.
Заключение
Как было сказано выше, сложный агрегатор — это усложнённый вариант агрегатора простого. Основные отличия — фильтр для постов, увеличенное количество источников новостей, логирование, доработанная обработка ошибок, имитация запроса пользователя через браузер, докер контейнер и др.
Сложный агрегатор написан таким образом, чтобы быть максимально живучим, однако в принципе состоит из тех же модулей, что и простой.
Можно конечно запустить готовый агрегатор новостей где-то в облаке, но лично у меня он работает на очень слабеньком тонком клиенте, в котором всего 4 Gb оперативной памяти и двухъядерный процессор 1.2 GHz, этого железа хватает с большим запасом. Для меня это удобно, т.к. не приходится постоянно держать включенным настольный компьютер или ноутбук, плюс тонкий клиент совершенно бесшумный.
В целом его работой я доволен, это действительно очень удобно, когда едешь куда-то или отошёл по делам, можно легко следить за новостями через мобильный телефон.
Спасибо за внимание.
- агрегатор новостей
- парсер сайтов
- парсер новостей
Источник: habr.com
9 лучших сайтов-агрегаторов новостей (+ как создать свой собственный)
Хотите читать последние новости и обновления из ваших любимых блогов в одном месте?
Если так, то сайты новостных агрегаторов — лучший вариант для вас. Эти веб-сайты автоматически отображают последний контент из ваших любимых веб-сайтов на одной странице.
Таким образом, вы сможете быстро получать все свои новости и обновления блога, ничего не упуская.
В этой статье мы поделимся нашим выбором лучших сайтов-агрегаторов новостей для использования в 2019 году. Мы также покажем вам, как создать собственный сайт-агрегатор новостей с использованием WordPress.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Что такое сайты новостных агрегаторов?
Сайты новостных агрегаторов позволяют пользователям просматривать новости и обновления из разных источников в одном удобном месте. Они извлекают данные, упорядочивают их по тегам / категориям и отображают в правильном порядке для более удобного использования.
Вы также можете рассматривать их как подборку новостей и обновлений, представленных в соответствии с предпочтениями пользователя.
Используя агрегаторы новостей, вам не нужно посещать различные веб-сайты для получения их последнего контента. Вместо этого вы можете найти весь контент в одном месте.
В интернете есть разные типы агрегаторов контента. Некоторые из них похожи на Новости Google, которые просто собирают статьи из популярных онлайн-газет и отображают их в связанных категориях.
С другой стороны, есть другие, такие как Feedly, которые предлагают более персонализированный опыт. Они позволяют вам создавать свои собственные каналы с выбранными вами издателями.
Большинство агрегаторов новостей не публикуют свой собственный контент. Они получают статьи с других веб-сайтов, используя свои RSS-каналы, поэтому их также называют читателями каналов.
С учетом сказанного давайте посмотрим на лучшие новостные сайты-агрегаторы.
1. Feedly
Feedly — один из самых популярных новостных сайтов в Интернете. Это позволяет вам создавать собственный поток новостей с последним контентом от ваших любимых издателей.
Используя эту платформу, вы можете подписаться на контент по широкому кругу тем. Вы можете использовать их механизм предложения контента, чтобы открывать новые сайты по темам.
Вы также можете вручную добавить свои любимые новостные сайты или блоги. Например, вы можете подписаться на WPBeginner для статей, связанных с WordPress.
Feedly доступен как в бесплатной, так и в платной версиях. Бесплатный план позволяет подписаться на 100 источников и создать до 3 личных каналов.
Вы можете использовать Feedly в браузере или загрузить его как мобильное приложение или расширение для браузера.
2. Новости Google
Новости Google — это мощный агрегатор новостей, основанный на сложных поисковых технологиях Google, искусственном интеллекте и собственной истории поиска пользователя. По умолчанию он показывает самые популярные новости в зависимости от вашего географического положения.
Он предлагает последние новости и обновления для местных, региональных, международных, деловых, технологических, развлекательных, спортивных, научных и медицинских новостей.
Вы можете сохранять темы, источники и поиски, чтобы настроить свой канал.
Новости Google — это бесплатный агрегатор новостей, который вы можете использовать в Интернете, на своих устройствах Android и iOS.
Если вы ищете альтернативу, отличную от Google, Bing News и Yahoo News предлагают аналогичную функциональность.
3. Alltop
AllTop объединяет новости и статьи в блогах самых популярных в мире веб-сайтов, таких как TechCrunch, Mashable, BBC, CNN и другие. Он курирует и отображает контент в режиме реального времени.
Существуют отдельные категории для политики, технических новостей, спорта, развлечений, образа жизни, бизнеса и т. Д. Нажав на эти категории, вы можете найти самые популярные истории, а также главные новости из лучших источников в соответствующей теме.
Помимо самых последних новостей, в нем есть вирусная категория, в которой представлены новейшие вирусные материалы и тенденции.
4. Новости360
News360 — одно из самых популярных приложений для сбора новостей в Интернете. Это позволяет вам найти мировые новости, а также истории вокруг ваших интересов. Это отличная альтернатива Google News и Feedly.
Когда вы зарегистрируетесь в News360, вы сможете выбрать интересующие вас темы, а затем он покажет вам новейший контент по этим темам. Это дает вам здоровый поток новостей из коробки, который вы можете дополнительно настроить, добавляя или удаляя темы и источники.
News360 позволяет получать самые важные новости из более чем 100 000 надежных источников в Интернете.
Вы можете читать News360 в своем браузере, устройствах iOS и Android.
5. Панда
Panda объединяет контент, полезный для веб-дизайнеров, разработчиков и технических предпринимателей. Он собирает контент с Dribble, Behance, TechCrunch, Wired и других подобных веб-сайтов.
Как нишевый агрегатор новостей, Panda отображает новости в более привлекательной форме, что позволяет вам находить наиболее интересный контент. Подача контента для таких источников, как Dribble, Awwwards, представляет собой интеллектуальную сетку миниатюр.
6. Techmeme
Techmeme — это сайт технологических новостных агрегаторов. Он охватывает главные истории о технологиях из различных надежных источников, таких как TechCrunch, Wired, New York Times и другие.
На главной странице представлены самые последние новости в сфере технологий, спонсорские посты, вакансии и предстоящие технические события. Пользователи также могут переключаться в представление «Река» для получения обновлений по мере их поступления или в представление «Таблица лидеров», в котором отображается контент по темам.
Techmeme является хорошей отправной точкой для тех, кто ищет более простой способ быть в курсе последних технических новостей.
7. Флипборд
Flipboard — это отличный сайт-агрегатор блогов, который позволяет вам создавать собственные фиды контента на основе ваших интересов. Он включает в себя широкий спектр тем, в том числе деловые новости, технические новости, путешествия, новости политики, красота и многое другое.
Вы также можете использовать Flipboard в качестве локального агрегатора новостей, потому что он имеет каналы почти для всех городов мира.
Flipboard имеет потрясающий макет в стиле журнала, который поставляется с интерактивными опциями для размещения, комментирования и публикации контента в ваших профилях в социальных сетях.
Flipboard доступен через браузер или мобильные приложения для устройств Android или iOS.
8. Карман
Pocket — еще одно приложение для сбора новостей, где вы можете исследовать самый популярный контент в Интернете. Это также позволяет вам создавать собственное пространство для чтения, сохраняя контент, который вам нравится.
Pocket содержит различные типы контента, включая статьи, видео и истории из самых разных публикаций. Он имеет различные категории контента, такие как «обязательно читаемые», тренды, технологии, финансы, здравоохранение и т. Д. Для удобного просмотра.
Он позволяет вам сохранять контент для последующего чтения, находясь в пути, и доступен как для расширений браузера, так и для мобильных приложений.
9. Inoreader
Inoreader — это мощная альтернатива Feedly и отличное программное обеспечение для чтения каналов. Доступный в Интернете, на устройствах iOS и Android, Innoreader позволяет легко добавлять любимые веб-сайты или находить новые блоги для подписки.
Он предлагает множество опций для курирования, реорганизации и отображения контента в разных макетах и цветовых схемах.
Если вы уже используете программу чтения новостей, вы можете легко импортировать свои подписки. По мере роста вашего списка чтения вы также сможете управлять подписками в пакетах и темах.
Похвальные грамоты
Ну, это был наш список новостных агрегаторов в 2019 году! Но есть еще много агрегаторов новостей. Вот некоторые достойные упоминания, которые вы можете проверить.
Как создать сайт новостного агрегатора с помощью WordPress
Сайты новостных агрегаторов чрезвычайно полезны, и есть так много ниш, которые полностью не используются. Создав веб-сайт новостного агрегатора, обслуживающего эти ниши, вы можете легко зарабатывать деньги в Интернете, продавая подписки, спонсорство и рекламу.
Самое приятное то, что вы будете курировать контент, а не создавать свой собственный оригинальный контент. Вы сможете предложить пользователям очень полезную информацию из самых популярных источников.
Давайте посмотрим, как шаг за шагом легко создать свой собственный сайт новостного агрегатора.
Шаг 1. Настройка сайта новостного агрегатора
Вы можете создать сайт новостного агрегатора, используя других разработчиков сайтов или написав свой собственный код. Оба варианта довольно сложны для начинающих пользователей, не имеющих навыков программирования.
Самый простой способ сделать это с помощью WordPress.
Существует два типа веб-сайтов WordPress: WordPress.com и WordPress.org. Вам понадобится WordPress.org, потому что он дает вам полную свободу и гибкость из коробки.
Чтобы узнать больше, ознакомьтесь с нашим руководством о различиях между WordPress.com и WordPress.org.
Чтобы начать с WordPress.org, вам понадобится учетная запись веб-хостинга и доменное имя.
Обычно доменное имя стоит $ 14,99 / год, а тарифный план WordPress — $ 7,99 / месяц. И теперь, поскольку все сайты нуждаются в SSL, вы можете добавить к этой сумме дополнительно 69,99 долл. США в год. Это довольно много денег.
К счастью, Bluehost согласился предложить нашим пользователям скидку на хостинг с бесплатным доменным именем + бесплатный SSL-сертификат. В принципе, вы сможете начать работу всего за 2,75 доллара в месяц.
Просто зайдите на сайт Bluehost, чтобы завершить покупку, а затем перейдите к нашему руководству о том, как создать сайт WordPress для пошаговых инструкций по установке.
Шаг 2: Установите и активируйте плагин WP RSS Aggregator
После того, как вы настроили свой веб-сайт WordPress, следующий шаг — установить и активировать плагин WP RSS Aggregator. Для получения более подробной информации, смотрите наше пошаговое руководство о том, как установить плагин в WordPress.
WP RSS Aggregator — лучший плагин для WordPress, который превращает веб-сайт WordPress в агрегатор контента. Это позволяет вам импортировать, объединять и отображать RSS-каналы на вашем сайте WordPress без какой-либо кодировки.
После активации посетите RSS-агрегатор »Настройки из панели инструментов, чтобы настроить параметры плагина.
Настройки по умолчанию подойдут для большинства веб-сайтов, однако вам все равно необходимо просмотреть и изменить их при необходимости.
Шаг 3. Добавление источников каналов для импорта элементов каналов
Теперь ваш сайт готов начать показ новостных лент. Вам просто нужно добавить источники, которые вы хотите отобразить на вашем сайте.
WP RSS Aggregator может получать и отображать контент с любого веб-сайта, на котором есть RSS-канал. Большинство сайтов новостей и блогов имеют RSS-канал.
Сначала перейдите к RSS-агрегатор »Источники страницу с панели инструментов, а затем нажмите кнопку Добавить новый.
После этого вы можете добавить свой источник новостей. Введите имя веб-сайта источника канала, например, WPBeginner.
Далее необходимо ввести URL источника канала. В большинстве случаев вы можете просто ввести URL-адрес веб-сайта.
Вы можете щелкнуть ссылку «Проверить фид» под полем URL, чтобы проверить правильность RSS-канала.
Если ссылка действительна, вы можете опубликовать свой источник новостей.
После этого плагин сразу начнет импортировать элементы фида (зависит от интервала обработки фида).
Вы можете увидеть импортированные фиды, перейдя в RSS-агрегатор »Ленты новостей,
После этого повторите процесс, чтобы добавить дополнительные источники каналов на свой веб-сайт.
Шаг 4. Опубликуйте свой контент-агрегатор в прямом эфире
Теперь, когда у вас есть импортированные элементы фидов, вы можете публиковать свои агрегированные статьи в прямом эфире на своем веб-сайте.
Создайте новую страницу или пост, чтобы опубликовать ваш фид контента. Затем вам нужно будет щелкнуть значок «Добавить новый блок» и выбрать блок «Агрегатор WP RSS» в разделе «Виджеты».
После этого плагин автоматически загрузит ваш фид WordPress.
Теперь вы можете опубликовать свою страницу и просматривать ваш фид контента в реальном времени. Вот как это выглядело на вашем демо-сайте.
Шаг 5. Добавление дополнительных функций в ваш агрегатор контента WordPress
WP RSS Aggregator позволяет добавлять больше функций в ваш агрегатор контента WordPress с его премиум-аддонами. Вы можете просмотреть доступные дополнения, перейдя в RSS-агрегатор »Дополнительные функции с вашей приборной панели.
Используя эти дополнения, вы можете импортировать элементы фида в виде постов WordPress и создать веб-сайт новостного агрегатора с гораздо большим количеством функций. Дополнение Feed to Post позволяет вам добавить эту функциональность, делая каждый элемент ленты отдельным независимым контентом.
Вы также можете отображать миниатюры постов и выдержки с лентами новостей. Чтобы добавить эту функцию, вам нужно использовать дополнение Excerpts https://okdk.ru/9-luchshih-sajtov-agregatorov-novostej-kak-sozdat-svoj-sobstvennyj/» target=»_blank»]okdk.ru[/mask_link]