Несколько месяцев назад я болтал с Элиа Пальме, с которым я работал с 2014 по 2016 год, и он показал мне https://newsriver.io. Я сразу загорелся. Newsriver - это строительный блок (предварительное условие) для продуктов, над которыми мы вместе работали в течение 2 лет:
- Newscron, все еще живое, приложение для агрегирования новостей;
- Niu.ws по-прежнему доступен под названием https://thescope.com, на котором размещаются тщательно отобранные статьи и
- Segmen.to, который больше не существует, но был сосредоточен на обнаружении контента и публикации в социальных сетях.
Newriver объединяет знания, накопленные в предыдущих проектах, и предлагает простой API для извлечения онлайн-статей или любого (пока только) текстового контента. Имея такой API, можно создать собственное приложение для чтения, анализа, агрегирования новостей или онлайн-контента, включая три упомянутых ранее. Это потрясающе.
Можно сразу приступить к использованию Newsriver (начальная версия бесплатна), а после регистрации удобная консоль позволяет играть с запросами для фильтрации онлайн. контент, как песочница.
Самый простой способ отправки запросов - использовать графический интерфейс, который поставляется с меню, содержащим наиболее важные поля (title, text, websiteName,language
) и основные операторы (AND
, OR).
Например, можно искать статьи, содержащие как словаobama
, так и putin
в статьяхtitle
. Консоль возвращает статьи в формате json
кода, который API обычно возвращает в удобном для чтения виде: текст и изображения отображаются, совпадающие слова выделяются, а наиболее важная информация для каждой статьи отображаются (например, language
, date
, publisher
, read time
, rank
, URL
). В дополнение к этому, консоль также показывает команды, необходимые для выполнения указанного запроса через терминал (curl
) или код Java или Python.
Немного поиграв с консолью Newsriver и отфильтровав контент по language
или указав имя вашей любимой актрисы в text
, вам, вероятно, придется выполнять более сложные запросы. Например, вы можете захотеть получить все статьи о Трампе и Клинтоне за 2 последних дня до голосования (7–8 ноября 2016 г.) или за последние 5 дней (10–15 января 2017 г.) во всех газетах Италии или Германии. , таким образом, с it
(итальянский) или de
(немецкий) в качестве языка. Консоль позволяет выполнять такие запросы благодаря опции manual edit
и синтаксису из Apache Lucene, который является языком индексации каждого поля в Newsriver.
На изображениях ниже вы можете найти результаты двух запросов, отправленных в онлайн-консоли, а также несколько других бонусных ;-). Обратите внимание, что строка запроса всегда должна быть закодирована - вы можете использовать любой онлайн-инструмент или консоль браузера для кодирования строки вне консоли.
После некоторых пробных и неудачных тестов (когда запрос приводит к пустым или неожиданным результатам, могут быть ошибки в синтаксисе или логике запроса) и изучения документации Lucene, можно стать Newsriver освоить и найти лучший контент для ее нужд.
Я твердо верю в силу Newsriver, поэтому сейчас активно продвигаю его… и, вероятно, в будущем напишу еще несколько постов об этом. Будьте на связи.
Джакомо
P.S. Есть ли ваш любимый издатель уже в базе данных Newsriver? С консоли вы можете посмотреть, есть ли он в списке. Если нет, напишите нам по адресу [email protected].
P.P.S. Вы можете практически использовать любое поле из возвращенногоjson
для фильтрации статей, как в этом примере ниже - json
поля могут отличаться.
{ “id”: “Ts21U5...”, “discoverDate”: “2016–12–11T08:27:07.571+0000”, “title”: “Newsriver is nice”, “language”: “de”, “text”: “When I first started reading this article I did not realized how cool Newsriver is ...” “structuredText”: “<div> \n <p> When I <b>first</b> started reading this article I did not realised how <i>cool</i> Newsriver is ...</p> </div>”, “url”: “https://newsriver.io/blablabla", “elements”: [{ “type”: “Image”, “primary”: true, “url”: “https://upload.wikimedia.org/wikipedia/en/thumb/0/03/Super_Mario_Bros._box.png/250px-Super_Mario_Bros._box.png", “width”: null, “height”: null, “title”: null, “alternative”: null }], “website”: { “name”: “BaZ-Online”, “hostName”: “bazonline.ch”, “domainName”: “bazonline.ch”, “iconURL”: null, “rankingGlobal”: 42540, “countryName”: “”, “countryCode”: “”, “canonicalURL”: null, “rankingCountry”: null }, “metadata”: { “readTime”: { “type”: “readTime”, “seconds”: 88 } }, “highlight”: “) App <highlighted>Newscron</highlighted>, die nicht nur die grossen Schweizer Zeitungen, sondern auch viele lokale Blätter sowie”, “score”: 0.23410013 }
Например. вы можете получить все статьи со временем чтения более 300 секунд: metadata.readTime.seconds:>300
Другие примеры.
Все статьи о Трампе и Клинтоне за два последних дня до голосования (7–8 ноября 2016 г.) во всех газетах Италии или Германии, поэтому на языке it
(итальянский) или de
(немецкий).
(title:trump OR text:trump) AND (title:clinton OR text:clinton) AND (language:it OR language:de) AND discoverDate:[2016-11-07 TO 2016-11-08]
Все статьи о Трампе и Клинтоне за последние дни (с 10 января 2017 г. по настоящее время) во всех газетах Италии или Германии, на языке it
(итальянский) или de
(немецкий).
(title:trump OR text:trump) AND (title:clinton OR text:clinton) AND (language:it OR language:de) AND discoverDate:[2017-01-10 TO *]
Все статьи на английском языке о Путине, но не Обаме (только в заголовке), обнаруженные 11–12 января 2017 г.
title:("putin" AND NOT "obama") AND discoverDate:[2017-01-11 TO 2017-01-12] AND language:en
Все статьи на английском языке, найденные за первые два дня января 2017 г., содержат в заголовке слово, начинающееся с (солнце…), например вс день, вс, солнце Дерланда
title(sun*) AND discoverDate:[2017-01-01 TO 2017-01-02] AND language:en
Все статьи, в заголовке которых содержится полное название Невозможный проект
title:"impossible project"