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

时间:2015-07-30 18:43:32

标签: php mysql

我需要为指定的关键字解析Google图像并检索图像链接,我可以使用PHP简单的dom解析器,并且可以检索每次调用的一些图像链接。 Google Images API目前仅限100次通话。现在,我需要为"关键字"保存这些图片链接。因此,下次当我需要该关键字的图像时,我的脚本首先会查找关键字及其相关图像(即网址)是否已存储在我的系统中以及是否需要调用Google。

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

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

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

2 个答案:

答案 0 :(得分:0)

我建议使用mysql,选择它可以灵活,快速,轻松地访问您的数据。只需将您的图像信息放在一个表格中,例如:

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

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

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

id | keyword | description | ( anything else)

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

答案 1 :(得分:0)

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

图像表

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

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