从 Google 自定义搜索 API 中的搜索结果中排除多个字词

Excluding multiple terms from search results in Google Custom Search API

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)

根据 google custom search API documentationexcludeTerms 取一个字符串值。如您所见,我尝试插入一个字符串数组,但效果不佳。我实际上独立测试了每个术语,每次都会产生不同的结果。 (请原谅 dotcom,因为我无法 post 实际链接)

这是每个测试的结果:

现在..

Google 的 vague user-friendly documentation 声明如下:

excludeTerms string :标识不应出现在任何文档中的单词或短语搜索结果。

我不确定 "any documents in the search results" 到底是什么意思,但是我通过这个过程发现的是,当使用单个字符串时,它似乎排除了具有字符串值的 URL, 但是 当使用字符串数组时,它似乎根本没有相同的行为。谁能解释一下?或者请解释一下是否有适当的方法可以在此关键字 excludeTerms 参数中插入一组术语?

我想澄清一下,我想要完成的是能够插入一个字符串数组,这样我的结果就会明确排除包含 termsToExclude 中的术语的 URL,这样我就可以在我的结果中获得更理想的 URL。另外,请记住,当我使用单独的字符串时,会产生所需的结果,而数组的工作方式似乎不同。

感谢您提供任何信息!

excludeTerms 是一个扁平字符串,因此不确定在数组中传递的行为会是什么。

试试

termsToExclude = 'happy pet vet'