r语言 - 自定义搜索引擎的"term1 OR term2"查询的正确语法是什么



情况:

我正在使用谷歌自定义搜索引擎,谷歌云平台和R来搜索给定术语出现的网页数量。由于存在给定术语的同义词,我试图获得给定术语的网页数量它的同义词出现在("or")

问题:

我试图用几种不同的方式来表达查询,所有这些都产生了不连贯的结果(即带有"term1"的网页数量;比;含有"term1"的网页数目或"term2")。

以下是我尝试过的配方(这里terms 1 = Alsophis antiguae, terms 2 = Alsophis leucomelas):

URL_1 <- paste0(URL, key, "&cx=", cx, "&q='", 
URLencode("Alsophis antiguae | Alsophis leucomelas") , "'")
URL_2 <- paste0(URL, key, "&cx=", cx, "&q='", 
URLencode("Alsophis antiguae OR Alsophis leucomelas") , "'")
URL_3 <- paste0(URL, key, "&cx=", cx, "&q='", 
"Alsophis%20antiguae", "OR", 
"Alsophis%20leucomelas", "'")
URL_4 <- paste0(URL, key, "&cx=", cx, "&q='", 
"Alsophis%20antiguae", "%20OR%20", 
"Alsophis%20leucomelas", "'")
URL_5 <- paste0(URL, key, "&cx=", cx, "&q='", 
"Alsophis%20antiguae", "'", "OR", 
"'", "Alsophis%20leucomelas", "'")

生成URL后,运行以下行:

js <- fromJSON(base::url(URL_1))

:

搜索'"term1"的正确语法是什么?或"term2"。您能提供一个URL的查询块作为示例(例如"&q='Alsophis%20antiguae'")吗?

提前致谢

如果有人感兴趣,正确的语法是"term1"+OR"term2"。这种语法似乎也适用于AND。

双引号可以正常工作,而单引号似乎会产生错误的结果。所以单引号应该用来分隔字符串,而不是在查询中。

下面的代码生成一个工作查询
term1 <- "aaaa"
term2 <- "bbbb"
dummy.query <- paste0(""", term1, """, 
"+OR", # works with "+AND"
""", term2, """) 

然后,如果key是您的API密钥,cx是您自定义谷歌搜索引擎的ID,完整的工作URL是:

URL = paste0("https://www.googleapis.com/customsearch/v1?key=", key, 
"&cx=", cx, 
"&q=", dummy.query) 

相关内容

  • 没有找到相关文章

最新更新