将 Google 图片链接及其关键字保存在数据库或文本文件中

Posted

技术标签:

【中文标题】将 Google 图片链接及其关键字保存在数据库或文本文件中【英文标题】:Saving Google image links and its keywords in db or text file 【发布时间】:2015-10-22 06:38:50 【问题描述】:

我需要为指定的关键字解析谷歌图像并检索图像链接,我可以使用 php 简单的 dom 解析器来完成,并且每次调用可以检索一些图像链接。 Google 图片 API 目前限制为 100 次调用。现在,我需要将这些图像链接保存为“关键字”,以便下次我需要该关键字的图像时,我的脚本首先查找关键字及其相关图像(即 URL)是否已存储在我的系统中以及是否存在是否需要致电 Google。

存储该关键字和图像(即数据库或简单文本文件)的最有效方法是什么?

如果是 mysql,那么它的架构是什么样的?

我可以将图像链接存储在文件名为关键字的文本文件中吗?

【问题讨论】:

【参考方案1】:

我通常喜欢使用关系数据库,因为随着您的成长,您可以使用它们做更多事情。我还会在您的数据中添加时间戳(如下所示),这样您就可以知道您的链接何时被缓存(因为这实际上就是您正在做的事情)。这是我将使用的架构:

图片表

id - Integer, primary index, autoincrement
keyword - Varchar(50), indexed
url - Varchar(2083)
created_at - Timestamp
updated_at - Timestamp
Any other data you want to store, like image type, size, etc.

网址的长度是based off of this post。

如果您想进一步规范化您的数据,您可以这样做:

图片表

id - Integer, primary index, autoincrement
keyword_id - integer, indexed
url - Varchar(2083)
created_at - Timestamp
updated_at - Timestamp
Any other data you want to store, like image type, size, etc.

关键词

id - Integer, primary index, autoincrement
word - Varchar(50)
created_at - Timestamp
updated_at Timestamp
Any other data you want to store

就个人而言,我可能会选择第一个选项,因为它更简单(取决于您的数据将获得多大)。

【讨论】:

【参考方案2】:

我建议使用 mysql,选择它可以为您提供灵活性、速度和轻松访问您的数据。只需将有关您的图像的信息放在一张表中,例如:

id | name | keyword | path | creTime | size | ext ( and any other that u would need )

然后您可以通过关键字提取任意数量的图像,例如“水”、“视图”或其他内容。

我可能会制作两张表格,为keywordId 更改关键字。然后为 Keyword_data 创建外键。现在你有了从 Images_data 到许多 (id) 关键字数据的关系 One (keywordId)。

id | keyword | description | ( anything else)

这样您就可以为任何图像组设置多个关键字,因为这样会更加灵活。

【讨论】:

你的两个帖子都很有帮助。我决定使用 MySql。感谢您的意见。 @user 享受投影和编码的乐趣。使用一些 workebnes 来创建表格总是好的,以便更清楚地看到所有内容;)

以上是关于将 Google 图片链接及其关键字保存在数据库或文本文件中的主要内容,如果未能解决你的问题,请参考以下文章

脚本程序模拟手动 批量百度云链接文件自动保存

脚本程序模拟手动 批量百度云链接文件自动保存

分离链接法实现散列表

如何刷新 Google 图片搜索缓存?

如何将 google image map API 图片保存到我的服务器

保存复选框值会导致显示/隐藏链接图像出现问题