【问题标题】:Programmatically get Google results onto web page以编程方式将 Google 结果放到网页上
【发布时间】:2010-11-03 04:39:40
【问题描述】:

为了节省时间谷歌搜索我的网站以查看我的页面发生了哪些变化,我决定创建一个网页来监控我的页面在某些关键短语(即我的名字)下的位置。例如,如果我要输入我的姓名并且我的网页位于顶部,我希望该页面显示给定的 Google 结果以及我在该术语下的位置。然后,我将使用 Google Analytics API 创建一个混搭页面来操作这些数据。

在任何人开始吓坏之前,这部分并不违反 Google 的规则。谷歌不希望你为了得到这些结果而抓取他们的网页,尽管对我来说这将是迄今为止最简单的检查方法。已经有一些自动化工具可以将 Google 结果输出为 XML 格式,尽管这再次违反了 Google 的服务条款。

我知道还有其他替代方法,例如 Google Alerts,但我希望能够解决 Google 提出的问题并实施这样的工具,而不必破坏他们的 TOS。

几年前使用 SOAP API 有一个简单的方法可以做到这一点。然而,这已经停止,谷歌现在为开发人员提供了一个“AJAX API”来实现各种小部件。这不能替代真正的 API,我肯定更喜欢一种将数据实际放在我的网页上并能够根据需要修改结果的方法。

有没有人知道如何用 JavaScript 或服务器端语言来实现它?据我所知,谷歌提供的一些页面作为示例已经完成了,所以我想看看这里是否有人对如何在不抓取谷歌的情况下完成此操作有任何想法。

【问题讨论】:

    标签: api


    【解决方案1】:

    Google 将其称为“AJAX API”,因为它们提供了用于直接从浏览器访问 API 的所有客户端代码。

    在底层,它只是一个基于 RESTful HTTP 的 API,它返回 JSON 格式的数据而不是 XML,因此如果您的服务器端代码可以打开 HTTP 连接并解析 JSON 响应,则不需要浏览器端代码.

    如果您在服务器上使用 ASP.NET,这是一个使用 Google API 的 OSS 库:

    http://code.google.com/p/google-api-for-dotnet/

    【讨论】:

    • 如果我想在客户端修改这些数据怎么办?我想使用 CSS 和其他 Google API 混合和修改这些数据的位置。如果 AJAX API 已经提供客户端代码,这可能吗?
    • @EnderMB:一旦你得到 Ajax 响应,它只是一个普通的旧 Javascript 对象,你可以使用 Javascript 对它的顺序或内容做任何你想做的事情
    • 啊!我从来不知道这些服务器端 API!当您阅读很久以前的博客条目时,这就是问题所在,而当此选项出现时,该条目并不存在。无论如何,谢谢你为我解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 2010-09-28
    相关资源
    最近更新 更多