Несколько месяцев назад я болтал с Элиа Пальме, с которым я работал с 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"