Исключение нескольких терминов из результатов поиска в API пользовательского поиска Google - PullRequest
0 голосов
/ 08 июня 2018
devKey = 'FAUX123456789'
customSearchEngineId = 'FAUX123456789'

searchTermArray = ['happy pets valencia CA',
                   'pet doctor z tuscon AZ',
                   'best friends veterinary hospital crossville TN',
                   'pet pal animal shelter st petersburg FL']

termsToExclude = ['happy','pet','vet']

numberOfResults = 1

for eachSearchTerm in searchTermArray:
    service = build("customsearch", "v1", developerKey=devKey)
    results = service.cse().list(q=eachSearchTerm, cx=customSearchEngineId, num=numberOfResults, excludeTerms=termsToExclude)
    results = results['items']
    print(results)

Согласно документации API пользовательского поиска Google , excludeTerms принимает строковое значение.Как видите, я попытался подключить массив строк, и это не совсем работает.Я на самом деле проверял каждый семестр независимо друг от друга и каждый раз получал разные результаты.(прошу прощения за dotcom , поскольку я не смог опубликовать фактические ссылки)

Вот результаты для каждого теста:

  • TermsToExclude = ''
    happypetsveterinarydotcom /
    petdoctorxdotcom /
    bestfriendsvetdotorg /
    petpalanimalsheldter/

    TermsToExclude = ['happy','pet','vet']
    happypetsveterinarydotcom /
    ollinghillspetclinicdotcom /
    bestfriendsvetdotorg/
    petpalanimalshelterdotcom /

    TermsToExclude = 'happy'
    krisersdotcom / location / valencia /
    valenciaanimalhospitaldotcom / reviews.html
    bestfriendsvetdotorg /
    petpalanimalshelterdotcom / accept.php

    TermsToExclude = 'pet' 1068 *
    teambusbydotcom / новости недвижимости / дом и дизайн / 60 дизайнов счастливых домашних животных со всего мираe-world-60-photos
    www.zmansiondotcom /
    www.bestfriendequinedotcom /
    disneyworld.disney.godotcom / entertainment /волшебное королевство / персонаж-встретить-тупой-дональд /

    TermsToExclude = 'vet'
    happypetsveterinarydotcom / медицинские документы / my-pets-medical-records /
    www.staystudio6dotcom / ru / motels.az.tucson.6002.html
    langeanimalhospitaldotcom / josh-friends /
    petpalanimalshelterdotcom / event / purrfect-poses-yoga /

Сейчас ..

Гугл смутная удобная для пользователя документация гласит следующее:

excludeTerms string: указывает слово или фразу, которые не должны появляться ни в одном документе в результатах поиска.

Я не уверенчто "любые документы в результатах поиска" точно означает, но я обнаружил, что в ходе этого процесса, когда используется одна строка, появляетсячтобы исключить URL-адреса со строковым значением, , но , когда используется массив строк, он, похоже, не имеет такого поведения вообще.Кто-нибудь может объяснить это?Или, пожалуйста, объясните, если есть правильный способ подключить массив терминов в этом ключевом параметре excludeTerms?

Я хочу уточнить, что я пытаюсь подключить массив строк, чтобы мои результаты специально исключали URL-адреса, содержащие термины в termsToExclude, чтобы я мог получитьболее желательные URL в моих результатах.Кроме того, помните, что когда я использовал отдельные строки, это дало желаемый результат, тогда как массивы, похоже, не работали одинаково.

Спасибо за любую информацию!

1 Ответ

0 голосов
/ 11 июня 2018

excludeTerms является плоской строкой, поэтому не уверен, какое поведение вы бы получили, передавая массив.

Попробуйте это с

termsToExclude = 'happy pet vet'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...