Web 抓取需要 t2.gstatic URL 个参数

Need t2.gstatic URL parameters for Web Scraping

我正在检查是否可以使用 gstatic 从网站上抓取 favicon。下面将获取网站 Favicon:

https://t2.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=https://yahoo.com&size=64

我知道 URL 参数可能不适合一般用途,只是检查是否有人知道这可能被记录在哪里?

更新:我刚刚开始在 Google App Script 上构建应用程序。我需要列出网站名称及其网站图标和网站描述等元数据。目前唯一的方法是阅读网页并使用 beautifulSoup 解析页面,然后找到网站图标。我遇到了上面的link,它会直接给我图标!但我想更好地理解它并尝试找到有关 gstatic 的 URL 参数的更多信息。 我也愿意接受从 Google App Script 抓取网站的其他方法...

谢谢

我相信你的目标如下。

  • 您想从网站检索网站图标。
  • 您想使用以下示例 URL。
    • https://t2.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=https://yahoo.com&size=64
  • I need to list website names along with their favicons and metadata like site description, etc.,您想要使用 Google Apps 脚本检索网站的图标、标题和描述。

示例脚本 1:

当你的https://t2.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=https://yahoo.com&size=64的URL被使用时,下面的示例脚本怎么样?请将以下脚本复制并粘贴到 Google Apps 脚本的脚本编辑器中。并且,运行 samoke1 在脚本编辑器中。

function sample1() {
  const uri = 'https://t2.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=https://yahoo.com&size=64';
  const blob = UrlFetchApp.fetch(encodeURI(uri)).getBlob();
  DriveApp.createFile(blob);
}
  • 当此脚本为 运行 时,将检索网站图标并将其作为文件保存到 Google 驱动器的根文件夹中。
  • 当我看到 URL 时,似乎将 favicon 作为图像数据检索。

示例脚本 2:

当网站的图标、标题和描述被检索时,下面的示例脚本怎么样?

function sample2() {
  const uri = 'https://yahoo.com'; // Please set the URL.

  const obj = { title: "", description: "", faviconUrl: "" };
  const res = UrlFetchApp.fetch(encodeURI(uri));
  const html = res.getContentText();
  const title = html.match(/<title>(.+?)<\/title>/i);
  if (title || title.length > 1) {
    obj.title = title[1];
  }
  const description = html.match(/<meta.+name\="description".+>/i);
  if (description) {
    const d = description[0].match(/content\="(.+)"/i);
    if (d && d.length > 1) {
      obj.description = d[1];
    }
  }
  const faviconUrl = html.match(/rel="icon".+?href\="(.+?)"/i);
  if (faviconUrl && faviconUrl.length > 1) {
    obj.faviconUrl = faviconUrl[1];
  }
  console.log(obj);
}
  • 当这个脚本为运行时,可以在日志中看到如下值

      {
        "title":"Yahoo | Mail, Weather, Search, Politics, News, Finance, Sports & Videos",
        "description":"Latest news coverage, email, free stock quotes, live scores and video are just the beginning. Discover more every day at Yahoo!",
        "faviconUrl":"https://s.yimg.com/cv/apiv2/default/icons/favicon_y19_32x32_custom.svg"
      }
    

参考: