语义网 - 是否有一个API可以获得类似于Google "people also search for"的结果?



我正在寻找一种API,它可以为谷歌的"人们也搜索"功能提供类似的结果。因此,例如,当我搜索斯坦利·库布里克时,我会看到人们搜索的所有其他电影导演。

我知道Freebase API,但它只是提供有关搜索项目的信息,而不是它可能与哪些其他搜索项目相关

Google AdWords API中还有一个TargetingIdeaSelector工具,它显示了相关的关键字,但并没有真正从语义上对结果进行调整。

最后,有一个非常简单的Bing API,它显示了相关的搜索(也在这里),但同样,它没有在语义上对信息进行范围划分。

你知道API吗?或者,如果谷歌的API中有类似的东西,可以向我显示相关搜索的语义范围?

谷歌曾经提供这样的API,但几年前就被打破了。我不确定为什么会出现这种情况,但我的猜测是,这对他们来说没有真正的好处,而且可能需要花费大量的维护费用。根据我的经验,大多数主要的搜索引擎往往没有搜索API。

然而,您可以尝试使用PHP和DOM Parser来解析来自谷歌之类的地方的结果,并将数据导出为JSON。

可在此处下载http://simplehtmldom.sourceforge.net

这应该会从谷歌中提取出所有链接,然后你可以格式化这些链接。您可以解析所有数据,并可以针对对象查看更多的文档

  $search = $_GET['search'];
> $google_search = file_get_html('https://www.google.co.uk/?gws_rd=ssl#q=' . $search);
> 
> foreach($google_search->find('a') as $item) {
>       echo $item->href . '<br>';
> }

希望对有所帮助

谷歌显示的结果是基于大量的数据,我猜这些数据建立在"搜索Y的X也搜索了什么"、"其他类似X的人也搜索了Y"等基础上。此外,可能还依赖于来自Freebase的语义信息。

为了了解谷歌在其信息框中显示的属性,即为什么当我们搜索法国时,我们会得到一张带有地图、旗帜、首都、人口的卡片。。。在与法国有关的数百个属性中,我创建了一个"知识库提取器",它能够解析谷歌信息框,并使用菲涅耳词汇将数据公开为RDF。

实现的算法如下:

  • 查询DBpedia中至少有一个实例链接到Freebase ID的所有概念(类型)
  • 对于这些概念中的每一个,随机选择(n)个实例
  • 对于每个实例,发出一个谷歌搜索查询:
  • 如果有可用的信息框->废弃信息框以提取属性
  • 如果没有可用的infoxbox,请检查谷歌是否建议"你的意思是…?"如果是,请遍历链接并查找infobox
  • 如果没有可用的信息框或更正,请消除搜索查询中使用的概念(类型)的歧义,并检查是否返回了信息框
  • 如果谷歌建议在信息框中消除歧义,请解析其中的所有链接->最好找到哪些建议映射到我们正在使用的当前数据类型->检查Freebase-DBpedia映射
  • 每个概念的群集属性

我也捕捉到了"搜索到的人"部分,但您可能还想对其进行更多的调整。

另外请注意,您可能需要检查信息框的CSS选择器,因为谷歌经常更改它们(可能是自动生成的)。这是在options.json 中完成的

"knowledgeBox"                : "#kno-result",
"knowledgeBox_disambiguate"   : ".kp-blk",
"property"                    : "._Nl",
"property_value"              : ".kno-fv",
"label"                       : ".kno-ecr-pt",
"description"                 : ".kno-rdesc",
"type"                        : "._kx",
"images"                      : ".bicc",
"special_property"            : ".kno-sh",
"special_property_value"      : "._Zh",
"special_property_value_link" : "a._dt"

最新更新