Сложные запросы с помощью Twitter API-оболочки Python
Возможны ли сложные запросы с использованием Twitter API? Например, в примере запросов, показанных на сайте разработчика, я могу сделать так, чтобы мой запрос был примерно таким:
("шоколад" И "кошка") ИЛИ ("супер ниндзя" И "призрак" И "человек", но НЕ "собака")
Запросы на сайте выглядят очень просто, и мне интересно, если вы можете иметь несколько одновременно, И, а также ИЛИ в запросе или это взаимоисключающие?
Я попытался поискать в поиске, но я мог найти только один пример запросов слова (бесполезно). Означает ли это, что я могу присоединиться к примерам документации для разработчиков с сайта и объединить их в один запрос следующим образом:
q = "шоколадная кошка-собака ИЛИ супер ниндзя-призрак-собака"
является ли приведенный выше запрос тем же результатом, что и первый оператор с AND/OR?
Я использую библиотеку TwitterSearch, но могу выполнять только такие запросы, как:
"шоколад" и "кот"
"шоколад" или "собака"
Я мог бы сделать следующее, но еще не проверял:
("шоколад" или "кошка") и "человек"
( стр. 22 документ библиотеки TwitterSearch).
Кроме того, библиотека учитывает НЕ, но я не могу сказать, могу ли я использовать оба И и ИЛИ, тогда НЕ. Это также на странице 22 в разделе "Исключая ключевые слова"
Это не достаточно сложно, на мой вкус, я открыт для любых других библиотек / оболочек, которые имеют более сложный поиск запросов, но я не уверен, что Twitter даже имеет такую сложность в их API.
Спасибо, и любые ваши ссылки также будут высоко оценены.
1 ответ
Да, вы правы, вы можете комбинировать операторы запросов любым способом, который соответствует вашим критериям.
q="шоколадная кошка-собака ИЛИ супер ниндзя-призрак-собака"
Тем не менее, в этом вы специально удалите собаку в первом, но вы не в:
("шоколад" И "кошка") ИЛИ ("супер ниндзя" И "призрак" И "человек", но НЕ "собака")
Разве ты не хочешь иметь
q="шоколадный кот или супер ниндзя призрак-собака"
В любом случае, да, это отфильтрует твиты на основе предоставленных операторов.
Из вашего комментария:
Вы получаете именно то, что вы указываете.
Если мы сначала посмотрим на предложение "nap cat -dog", вы фильтруете все твиты, которые должны содержать nap и cat в одном и том же твите, за исключением собаки. Они также содержат любое другое слово, которое в вашем случае вы получаете завтрак, потому что у вас нет никаких ограничений для этого в фильтре "nap cat -dog".
Второй фильтр работает отдельно от первого, следовательно, оператора OR. Там снова вы говорите все твиты, которые содержат время и завтрак, но не собаку. Второй фильтр может содержать ворс и кошку.
Если вы хотите как-то связать их, вам понадобится:
q="сон кошка-собака-время-завтрак-завтрак или время завтрака - сон-кошка-собака"
Этот фильтр должен предотвращать наложение твитов, которые я предполагаю, что вы после. Правильный?