谷歌API | 将URL转换为网站标题

8
例如,我想要获取一个站点的favicon,可以使用http://www.google.com/s2/favicons?domain=并填写域名,谷歌将返回favicon。 我还想取得标题。
我知道我可以在服务器端解析html获取标题…或者我可以在客户端使用javascript document.title。 但我不想下载整个网站。
我用favicon的示例是因为这是一个很好的示例,说明你可以在没有进行任何“繁重的工作”情况下,在网络上获得有关站点的数据。
肯定会有类似的方式获取标题。本质上,我想匹配URL和标题。

是的,但将图像转换为文本比解析文本要复杂得多,对吧?所以我怀疑他们从来没有迫切需要提供类似的HTML标签服务。无论如何,如果您想编写代码,只需获取HTML文档而不尝试获取其引用的内容。这真的很简单,您不会获取“整个站点”,只会获取页面的文本。 - ShiggityShiggityShwa
4个回答

2
你可以使用Google自定义搜索API获取网站的标题。只需搜索“info:siteurl”,并抓取第一个请求的标题即可。我不知道你想要做什么,但它允许每天进行100次请求。
查看API的详细信息: http://code.google.com/apis/customsearch/v1/reference.html

你只需要URL和参数。确保获取API密钥,就可以开始了。 - Overv
1
@Overv发布的链接已更改为https://developers.google.com/custom-search/json-api/v1/overview。 - user1381553

1

这篇文章有一段非常好的代码,可以获取URL、描述和关键字...

从外部网站获取标题和元标签

你需要下载整个页面的源代码,但只有一个页面,使用PHP DOMDocument类非常高效。

你不需要加载整个页面来获取favicon,因为它是一个单独的文件,但标题存储在页面源代码中。


如果有一个服务,他们仍然需要下载整个页面,实际上没有绕过这个问题的方法。而且它会被大量缓存。最好自己使用可以控制的缓存来完成这个简单的任务。 - 472084

0

使用Google搜索API

  1. 在此处创建API密钥:https://developers.google.com/custom-search/v1/overview#api_key
  2. 从此处创建“可编程搜索引擎”:https://programmablesearchengine.google.com/ 如果需要,您可以在这些设置中将其限制为特定域。
  3. 使用此URL运行GET请求:https://www.googleapis.com/customsearch/v1?key=${searchAPIKey}&cx=${searchID}&q=${url}
  • searchAPIKey来自步骤1
  • searchID来自步骤2
  • url是搜索文本,将网址放入通常会在结果中将其放在首位。但是,较新或隐藏的链接不会显示在这些结果中。

在JSON响应中,您可以使用items [0] .title获取第一个结果的标题。

使用异步/等待的JavaScript Fetch示例

const searchAPIKey = ''
const searchID = ''

fetch(`https://www.googleapis.com/customsearch/v1?key=${searchAPIKey}&cx=${searchID}&q=${url}`).then(function(response) {
  return response.json();
}).then(function(data) {
  console.log('title:', data.items[0].title)
}

0

抱歉,你是对的。但我认为没有其他方法,因为标题并未随标头一起发送。但也许可以看看http://www.google.com/search?client=safari&rls=en&q=info:stackoverflow.com - Tny
你可以使用http://www.php.net/manual/en/function.get-headers.php来获取头部信息,但标题不是头部的一部分。有些人在get_meta_tags()中讨论如何获取标题,并且只能通过下载整个网站来解决它。 - Tny
Overv 给了你一个 Google API 的链接,这是目前唯一的解决方案,而不需要下载整个网站。这将是你正确的元素:items[].title 搜索结果的标题,以纯文本形式呈现。 - Tny

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接