【问题标题】:How Can i Find All Urls by PHP?如何通过 PHP 查找所有 URL?
【发布时间】:2012-07-07 21:27:05
【问题描述】:

我想知道是否有一些代码或库可以获取域下的所有 url。我需要找到一个域的所有 url。

例如,如果我的域是https://stackoverflow.com/,并且我想查找所有问题的 url,如下所示:

  1. [Java lib or app to convert CSV to XML file?
  2. [https://stackoverflow.com/questions/456/what-can-i]
  3. [https://stackoverflow.com/questions/789/where-can-i]

我不知道该域下有多少问题,但我必须创建一个引擎来搜索所有 url,然后在找到 url 后我需要将内容插入到我的数据库中。

我将为我的 5 个网页创建一个小型搜索引擎。

有人可以帮忙吗?

谢谢,

【问题讨论】:

  • 这对于一个问题来说似乎相当广泛......您正在编写一个网络爬虫,这很复杂。您能否将您的问题缩小到特定的技术问题,或者您希望我们为您的程序提供架构?
  • 我将使用 php 创建,但我不知道这份工作的名称,所以我不知道如何在 google 中搜索。我如何在谷歌样本中搜索这项工作?实际上它们中的机器人可以工作。为我提供架构或方式是您的选择。我没事。
  • 请详细说明“我将为我的 5 个网页创建一个小型搜索引擎。”,如果您抓取/抓取一个网站,您为什么会有 5 个网页,或者这只是一个示例数字?

标签: php search search-engine web-scraping


【解决方案1】:

Lucene search 可让您轻松索引您的网页,以便高效准确地搜索它们。

有关 Lucene serach 的 PHP 实现,请参阅 Zend_Search_Lucene

您仍然需要爬取您的网站并构建索引,这是另一个问题。您可以使用Teleport Pro 之类的软件来抓取您的站点,并为您提供一个 URL 列表,然后您可以将其提供给 PHP 脚本,该脚本获取所有页面的内容并将它们提供给 Zend_Search_Lucene 以构建索引。您也可以用 PHP 编写爬虫或使用现有的解决方案。搜索php crawler 会产生很多东西,包括这个有用的php crawler

【讨论】:

  • 我可以通过 php 爬虫获取所有 url 并插入到 db 页面内容吗?
  • 当然,一旦你有了一个 URL 列表,你就可以使用像 file_get_contents() 这样简单的函数来获取它们的内容。将完整文件插入数据库以进行搜索并不是很理想。
  • 所以我要去搜索php爬虫。还有谁有样本可以分享吗?
  • 我找到了 sphider 。它真的很好用。它正在查找所有网址。我可以自己制作像蜘蛛一样的东西吗?
  • 当然你可以自己做,但是为什么你可以使用现有的许多之一呢?查看它的源代码,您会发现它并非微不足道,您可能会花费数天或数周的时间来让您的蜘蛛运行良好并处理边缘情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-17
  • 1970-01-01
  • 2019-01-14
  • 2015-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多