欢迎来到灵狐信息科技,定制属于您的互联网之旅!
18550-400-988
service@xfocusi.com
灵狐信息科技
当前位置:主页 > 新闻资讯 > 编程开发 >

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

编辑:admin 时间:2015-08-05 阅读:

以下代码可以获取到指定URL页面中的所有链接,即所有a标签的href属性:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 获取链接的HTML代码
$html = file_get_contents('http://www.example.com');

$dom = new DOMDocument();
@$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate('/html/body//a');

for ($i = 0; $i < $hrefs->length; $i++) {
$href = $hrefs->item($i);
$url = $href->getAttribute('href');
echo $url.'<br />';
}

这段代码会获取到所有a标签的href属性,但是href属性值不一定是链接,我们可以在做个过滤,只保留http开头的链接地址:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 获取链接的HTML代码
$html = file_get_contents('http://www.example.com');

$dom = new DOMDocument();
@$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate('/html/body//a');

for ($i = 0; $i < $hrefs->length; $i++) {
$href = $hrefs->item($i);
$url = $href->getAttribute('href');

// 保留以http开头的链接
if(substr($url, 0, 4) == 'http')
echo $url.'<br />';
}