从 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 documentation,excludeTerms 取一个字符串值。如您所见,我尝试插入一个字符串数组,但效果不佳。我实际上独立测试了每个术语,每次都会产生不同的结果。 (请原谅 dotcom,因为我无法 post 实际链接)
这是每个测试的结果:
- 排除项 =
''
happypetsveterinarydotcom/
petdoctorxdotcom/
bestfriendsvetdotorg/
petpalanimalshelterdotcom/
排除项 = ['happy','pet','vet']
happypetsveterinarydotcom/
ollinghillspetclinicdotcom/
bestfriendsvetdotorg/
petpalanimalshelterdotcom/
排除项 = 'happy'
krisersdotcom/location/valencia/
valenciaanimalhospitaldotcom/reviews.html
bestfriendsvetdotorg/
petpalanimalshelterdotcom/adopt.php
排除项 = 'pet'
teambusbydotcom/real-estate-news/home-and-design/60-design-happy-pets-from-around-the-world-60-photos
www.zmansiondotcom/
www.bestfriendequinedotcom/
disneyworld.disney.godotcom/entertainment/magic-kingdom/character-meet-goofy-donald/
排除项 = 'vet'
happypetsveterinarydotcom/medical-records/my-pets-medical-records/
www.staystudio6dotcom/en/motels.az.tucson.6002.html
langeanimalhospitaldotcom/josh-friends/
petpalanimalshelterdotcom/event/purrfect-poses-yoga/
现在..
Google 的 vague user-friendly documentation 声明如下:
excludeTerms
string
:标识不应出现在任何文档中的单词或短语搜索结果。
我不确定 "any documents in the search results" 到底是什么意思,但是我通过这个过程发现的是,当使用单个字符串时,它似乎排除了具有字符串值的 URL, 但是 当使用字符串数组时,它似乎根本没有相同的行为。谁能解释一下?或者请解释一下是否有适当的方法可以在此关键字 excludeTerms
参数中插入一组术语?
我想澄清一下,我想要完成的是能够插入一个字符串数组,这样我的结果就会明确排除包含 termsToExclude
中的术语的 URL,这样我就可以在我的结果中获得更理想的 URL。另外,请记住,当我使用单独的字符串时,会产生所需的结果,而数组的工作方式似乎不同。
感谢您提供任何信息!
excludeTerms 是一个扁平字符串,因此不确定在数组中传递的行为会是什么。
试试
termsToExclude = 'happy pet vet'
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,因为我无法 post 实际链接)
这是每个测试的结果:
- 排除项 =
''
happypetsveterinarydotcom/
petdoctorxdotcom/
bestfriendsvetdotorg/
petpalanimalshelterdotcom/
排除项 =['happy','pet','vet']
happypetsveterinarydotcom/
ollinghillspetclinicdotcom/
bestfriendsvetdotorg/
petpalanimalshelterdotcom/
排除项 ='happy'
krisersdotcom/location/valencia/
valenciaanimalhospitaldotcom/reviews.html
bestfriendsvetdotorg/
petpalanimalshelterdotcom/adopt.php
排除项 ='pet'
teambusbydotcom/real-estate-news/home-and-design/60-design-happy-pets-from-around-the-world-60-photos
www.zmansiondotcom/
www.bestfriendequinedotcom/
disneyworld.disney.godotcom/entertainment/magic-kingdom/character-meet-goofy-donald/
排除项 ='vet'
happypetsveterinarydotcom/medical-records/my-pets-medical-records/
www.staystudio6dotcom/en/motels.az.tucson.6002.html
langeanimalhospitaldotcom/josh-friends/
petpalanimalshelterdotcom/event/purrfect-poses-yoga/
现在..
Google 的 vague user-friendly documentation 声明如下:
excludeTerms
string
:标识不应出现在任何文档中的单词或短语搜索结果。
我不确定 "any documents in the search results" 到底是什么意思,但是我通过这个过程发现的是,当使用单个字符串时,它似乎排除了具有字符串值的 URL, 但是 当使用字符串数组时,它似乎根本没有相同的行为。谁能解释一下?或者请解释一下是否有适当的方法可以在此关键字 excludeTerms
参数中插入一组术语?
我想澄清一下,我想要完成的是能够插入一个字符串数组,这样我的结果就会明确排除包含 termsToExclude
中的术语的 URL,这样我就可以在我的结果中获得更理想的 URL。另外,请记住,当我使用单独的字符串时,会产生所需的结果,而数组的工作方式似乎不同。
感谢您提供任何信息!
excludeTerms 是一个扁平字符串,因此不确定在数组中传递的行为会是什么。
试试
termsToExclude = 'happy pet vet'