Как я могу иметь одно ключевое слово ИЛИ другое в питоне NewsAPI? - PullRequest
0 голосов
/ 20 октября 2019

Я использую Python 3.X с API NewsAPI.org . Я хочу, чтобы можно было найти новостные статьи, которые имеют ключевое слово из списка ключевых слов. Я попытался вставить запятые в часть ключевого слова URL-адреса NewsAPI, но он просто возвращает статьи, в которых есть ВСЕ упомянутые ключевые слова. Вот мой код:

url = ('https://newsapi.org/v2/everything?'
       'q=Google, Apple, Microsoft&'
       'sortBy=popularity&'
       'apiKey=API_KEY')
parser = html.parser.HTMLParser()
response = requests.get(url)

1 Ответ

1 голос
/ 20 октября 2019

Часть OR в HTTP-запросе не зависит от Python или любого другого языка.

Согласно документам newsapi Поддерживается расширенный поиск:

  • Фразы окружения с кавычками (") для точного соответствия.
  • Добавьте слова или фразы, которые должны появиться с символом +. Например: + bitcoin
  • Добавьте слова, которые не должны появлятьсяс символом - Например: -bitcoin
  • В качестве альтернативы вы можете использовать ключевые слова AND / OR / NOT и, необязательно, сгруппировать их с круглыми скобками. Например: crypto AND (ethereum OR litecoin) NOT биткойн.

Я попробовал это, и я думаю, что это работает

import requests

url = 'https://newsapi.org/v2/everything'

params = {'q': 'Google OR Apple OR Microsoft',
                'sortBy':'popularity',
                'apiKey': 'apiKey'
               }

response = requests.get(url,params=params)
...