开发者资讯

 首页 > 开发者资讯 > 编程开发 > PHP代码:获取指定URL页面中的所有链接

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

分享到:
【字体:
导读:
          通过以下代码可以获取到指定URL页面中的所有链接,即所有a标签的href属性。

以下代码可以获取到指定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.'
'
;
}

这段代码会获取到所有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.'
'
;
}
分享到:
PHP生成随机密码的4种方法及性能对比
方法一: 1、在 33 – 126 中生成一个随机整数,如 35, 2、将 35 转换成对应的ASCII码字符,如 35 对应 # 3、重复以上 1、2 步骤 n 次,连接成 n 位的密码 该算法主要用到了两个函数,mt_rand ( int $min , int $max )函数用于生成随机整数,其中 $min – $max 为 ASCII 码的范围,这里取 33 -126 ,可以根据需要调整...
2012年以来GitHub上最流行的编程语言
编程语言不仅是开发人员用于创建程序和表达算法的工具,还是创造性编码和解码的工具。纵观编程语言的历史,我们发现了一种可以更好地解决问题的独特视角,并且还能促进协作,打造优秀产品,以及重用他人的努力成果。 约70%的客户发送应用程序日志到我们的服务中,所以在下非常感兴趣于跟踪哪些编程语言是最流行的,哪些编...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……