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 documentation, excludeTerms 采用字符串值。正如您所看到的,我尝试插入一个字符串数组,但它并不常用。我实际上是独立测试每个术语,每次都会产生不同的结果。 (请原谅 dotcom ,因为我无法发布实际链接)
每个测试的结果:
''
['happy','pet','vet']
'happy'
'pet'
'vet'
现在..
Google的vague user-friendly documentation声明如下:
excludeTerms
string
:标识不应出现在搜索结果中的任何文档中的字词或短语。
我不确定"搜索结果中的任何文件" 是否完全正确,但我通过此过程发现的是使用单个字符串时,当使用字符串数组时,它似乎排除了字符串值但的URL,它似乎根本没有相同的行为。有谁能解释一下?或者请解释是否有适当的方法来插入此关键字excludeTerms
参数中的一系列术语?
我想澄清一下,我想要完成的是能够插入一个字符串数组,以便我的结果将专门排除包含termsToExclude
中的条款的网址,以便我可以获得更多我的结果中的理想网址。另外,请记住,当我使用单个字符串时,会产生所需的结果,而数组似乎不会以相同的方式工作。
感谢您的任何信息!
答案 0 :(得分:4)
excludeTerms是一个扁平字符串,因此不确定在数组中传递的行为。
尝试
termsToExclude = 'happy pet vet'