nxl*_*l10 5 python google-api google-custom-search
我们正在使用 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 使用成本。
到目前为止,我们发现了以下问题/不一致:
我们用于从每个页面中提取项目的代码是:
response = requests.get(query)
content = response.json()
hrefs = []
try:
for i in content['items'][0:num]:
hrefs.append(i['link'].lower())
except Exception as e:
print(str(e))
hrefs.append('a')
Run Code Online (Sandbox Code Playgroud)
谢谢!
恐怕您不太可能找到满足您正在寻找的标准的这个问题的答案。
为了保护其商业秘密(除其他外),谷歌对其搜索引擎算法的内部结构极为保密。我们从官方渠道了解到的信息如下:
其中第一点可能是最重要的。使用 API 进行搜索可能不会为您的搜索提供任何特殊待遇,这对于 API 行为来说是不寻常的,但对于 Google 来说是预料之中的。为了用户体验,谷歌很乐意改变自己的规则,我强烈怀疑你的搜索最终会成为这种行为的受害者。此外,考虑到目前的情况,他们可能已经将涉及 COVID-19 搜索的特殊内容直接硬编码到引擎的行为中,这可能会使事情进一步复杂化。
我希望我有更好的消息给你,但你可能不得不在你的工作中做出搜索引擎吐出的任何奇怪和不一致的东西。结果几乎肯定是不可重现的,并且由于上面列出的第五点,它们甚至可能无法由您自己重现。对不起。
| 归档时间: |
|
| 查看次数: |
413 次 |
| 最近记录: |