计算网站的超链接

时间:2011-09-29 14:53:45

标签: php html hyperlink

  

可能重复:
  How to parse HTML with PHP?

我想写一个计算网站所有超链接的php程序,用户可以输入。

怎么做?是否有一个图书馆或其他东西,我可以解析和分析有关超链接的HTML?

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

喜欢这个

<?php
$site  = file_get_contents("someurl");
$links = substr_count($site, "<a href=");
print"There is {$links} in that page.";
?>

答案 1 :(得分:0)

好吧,我们不能给你一个有限的答案,但只能指针。我用php完成了一次搜索引擎,所以原理是一样的:

  1. 首先,您需要将脚本编码为控制台脚本,Web脚本不是很合适,但这都是品味问题
  2. 你需要了解如何在PHP中使用套接字并发出请求,查看php套接字库:http://www.php.net/manual/ref.network.php
  3. 您需要了解HTTP请求的世界,了解如何制作您自己的GET / POST请求以及从返回的内容中拆分标题。
  4. 最后一部分用regexp很简单,只需要preg_match“#()* #i”的内容(最后一个表达式可能有错,我根本没有测试它吗?)
  5. 循环找到的href列表,与已经访问过的hrefs进行比较(记得在你的东西中考虑通配符GET参数),然后重复这个过程来加载站点的所有页面。
  6. 这是艰苦的工作......祝你好运

答案 2 :(得分:-2)

您可能必须使用CURL来获取网页的内容。将其存储在变量中,然后解析它以获取超链接。你可能需要正则表达式。