PHP代码:获取指定URL页面中的所有链接

vino997 2015-08-14 02:53:32
以下代码可以获取到指定URL页面中的所有链接,即所有a标签的href属性:
// 获取链接的HTML代码
1 $html = file_get_contents('http://www.example.com');
2
3 $dom = new DOMDocument();
4 @$dom->loadHTML($html);
5
6 $xpath = new DOMXPath($dom);
7 $hrefs = $xpath->evaluate('/html/body//a');
8
9 for ($i = 0; $i < $hrefs->length; $i++) {
10 $href = $hrefs->item($i);
12 $url = $href->getAttribute('href');
13 echo $url.'<br />';
14 }

PHP技术交流群 436753182

这段代码会获取到所有a标签的href属性,但是href属性值不一定是链接,我们可以在做个过滤,只保留http开头的链接地址:
// 获取链接的HTML代码
1 $html = file_get_contents('http://www.example.com');
2
3 $dom = new DOMDocument();
4 @$dom->loadHTML($html);
5
6 $xpath = new DOMXPath($dom);
7 $hrefs = $xpath->evaluate('/html/body//a');
8
9 for ($i = 0; $i < $hrefs->length; $i++) {
10 $href = $hrefs->item($i);
11 $url = $href->getAttribute('href');
12
13 // 保留以http开头的链接
14 if(substr($url, 0, 4) == 'http')
15 echo $url.'<br />';
16 }

PHP技术交流群 436753182
...全文
182 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

20,397

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧