小编nxl*_*l10的帖子

使用 Google 的自定义搜索 JSON API 的搜索结果不一致

我们正在使用 Google 的自定义搜索 JSON API 进行高等教育研究,我们基本上是在解析大量 URL 以查找有关各种组织对 COVID-19 的响应的信息。我们正在使用 Google 的 API 来查找热门搜索结果。但是,我们发现在 API 查询中使用不同的搜索参数时会出现不一致的结果。不一致是一个问题,因为我们试图将我们的查询磨练到一定的错误率(错误率是多少 URL 提供了有效的研究信息)。我们正在寻找人来帮助解释 Google 的 API 是如何工作的,因为文档非常少。我们的基本查询示例: 'https://www.googleapis.com/customsearch/v1?key=KEY&cx=SEARCHENGINE&q="学校名称" intext:(term1 | term2 | term3) -inurl:(unwanted1 |不需要的2 |不需要的3) inurl:(wanted1 | Wanted2 | 想要3)&start=1'

其中“学校名称”是高等院校的名称。Term1、term2 等,是我们希望在搜索结果正文中查找的特定变量。intext 参数有助于避免某些文档中的不可见文本。例如,insidehighered.com 以隐形文本形式包含许多高等教育机构,而实际文章并不适用。不需要的 1 等。是我们不希望包含在 URL 标题中的单词或短语。例如,我们要避免使用 PDF 文档,因此可以是“.pdf”。通缉1等。是我们希望在 URL 中使用的词,例如“新闻”。我们使用“|” 表示“或”,这允许我们将一个查询用于多种类型的搜索,从而有助于最大限度地降低 API 使用成本。

到目前为止,我们发现了以下问题/不一致:

  1. “-”和“NOT”否定项返回不同的结果。
  2. 参数的顺序很重要。例如,“inurl:(一些想要的搜索词)-inurl:(一些不需要的搜索词)”返回的结果与“-inurl:(一些不需要的搜索词)inurl:(一些想要的搜索词)”返回的结果不同
  3. 术语的嵌套也是不一致的。例如,“inurl:((想要的术语|想要的术语)NOT(不需要的术语|不需要的术语))”返回的结果与“inurl:(想要的术语|想要的术语|不是不需要的术语不是不需要的术语)”返回的结果不同
  4. 此外,API 有时会在两次不同时间使用相同的确切查询对某些查询返回不同的结果。查询似乎会返回 10 个结果,但会自发地混入下一页或其他地方的最后 1 或 2 个结果。例如,这个查询:"https://www.googleapis.com/customsearch/v1?key=KEY&cx=SEARCHENGINE&q="Miami University-Hamilton" intext:(减少学费|冻结学费|减少学费|降低学费) inurl: (新闻 | 公告 | 文章 | 故事) -inurl:(注册商 | 招生 | 学费和费用 | 学费表 …

python google-api google-custom-search

5
推荐指数
1
解决办法
413
查看次数

标签 统计

google-api ×1

google-custom-search ×1

python ×1