【问题标题】:How store website content?如何存储网站内容?
【发布时间】:2014-03-25 08:29:27
【问题描述】:

我编写脚本 PHP,它应该抓取一个域的所有子页面,将文本(所有关键字)从子页面上传到数据库(MySQL)。接下来,我想快速找到带有特定关键字的 url。在我的情况下如何保存和使用大文本数据?它应该像谷歌的网站爬虫一样工作

我找到了 2 个解决方案:

  1. 使用 FULLTEXT 将文本上传到一列
  2. 创建 2 个表:keywords,keyword-subpage with keys:keyword id, sub-page id

您能推荐其他解决方案、方法吗?

【问题讨论】:

  • 您可能想看看 No-SQL 数据库。例如 MonoDB。它是一种完全不同的方法,可能适合您,但您需要考虑更多因素。

标签: php mysql web-crawler bigdata


【解决方案1】:

您可以使用正则表达式在内存中处理完整的 html,然后仅将相关数据保存到数据库中,或者将全文保存到数据库中以进行批处理。这是一篇关于regular expression crawling的文章。

例如,这个正则表达式模式将匹配 html 中的超链接:

preg_match_all( '/http:\/\/[^ "\']+/', $content, $matches );

【讨论】:

  • 如果这回答了您的问题,请将其标记为答案。否则,如果您还有其他疑问,请告诉我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-25
  • 1970-01-01
相关资源
最近更新 更多