900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > PHP获取指定URL页面中的所有链接

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

时间:2023-02-08 19:03:36

相关推荐

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

后端开发|php教程

nbsp,URL,html,href,regArr

后端开发-php教程

form:/php/253.html

跳跳跳有源码吗,vscode表格文字居中,ubuntu改变盘符,tomcat源码要看么,爬虫洞窟,php仿验证码,山东seo外包价格费用,食物营养成分查询网站源码,大气全屏php模板lzw

这个东西其实我们开发人员来讲常用了,以前做一个抓取其它网站友情连接时用过,今天看到一朋友整理了一个PHP获取指定URL页面中的所有链接函数,整理过来我们一起来看看吧。

淘宝客源码英文版,vscode键绑定文件,ubuntu分区6,tomcat 网络模型,vc+6.0与sqlite,爬虫造景用什么胶水粘,php支付宝源码,沈阳seo企业价格,海尔网站的功能模板,编辑网页的代码,营销短信模板5clzw

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

vb实例源码,有vscode还需要vs吗,ubuntu登录闪,tomcat怎么复制粘贴打开,Sqlite 库合并,政府类网页设计公司,服务器上 php文件乱码 zend,wordpress登入可见插件,桌面前端框架,爬虫获取下载,php的用处,网站怎么做seo优化,套模板的网站为什么排名做不上去,网页两边广告条特效,discuz 模板语句,html页面迁移效果,skcms(网站管理系统),程序源端口是随机的吗lzw

// 获取链接的HTML代码

$html = file_get_contents(‘’);

$dom = new DOMDocument();

@$dom->loadHTML($html);

$xpath = new DOMXPath($dom);

$hrefs = $xpath->evaluate(‘/html/body//a’);

for ($i = 0; $i length; $i++) {

$href = $hrefs->item($i);

$url = $href->getAttribute(‘href’);

echo $url.’

‘;

}

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

// 获取链接的HTML代码

$html = file_get_contents(‘’);

$dom = new DOMDocument();

@$dom->loadHTML($html);

$xpath = new DOMXPath($dom);

$hrefs = $xpath->evaluate(‘/html/body//a’);

for ($i = 0; $i length; $i++) {

$href = $hrefs->item($i);

$url = $href->getAttribute(‘href’);

// 保留以http开头的链接

if(substr($url, 0, 4) == ‘http’)

echo $url.’

‘;

}

fopen()函数读取指定网页中的所有链接并统计出数量,在一些需要采集网页页容的地方,适合使用本代码,本例以读取百度首页为例,找出百度首页中所有的链接地址,代码经过测试,完全可用:

<?if(empty($url))$url = "/";//需要采集链接的URL地址$site=substr($url,0,strpos($url,"/",8));$base=substr($url,0,strrpos($url,"/")+1);//文件所在目录$fp = fopen($url, "r" );//打开url地址页面while(!feof($fp))$contents.=fread($fp,1024);$pattern="|href=[\\"]?([^ \\"]+)[\\" ]|U";preg_match_all($pattern,$contents, $regArr, PREG_SET_ORDER);//使用正则匹配所有href=for($i=0;$i<count($regArr);$i++){//找出所有匹配的链接if(!eregi("://",$regArr[$i][1]))//判断是否是相对路径,即是否还有:// if(substr($regArr[$i][1],0,1)=="/")//是否是站点的根目录 echo "link".($i+1).":".$site.$regArr[$i][1]."

“;//根目录

else

echo “link”.($i+1).”:”.$base.$regArr[$i][1].”

“;//当前目录

else

echo “link”.($i+1).”:”.$regArr[$i][1].”

“;//相对路径

}

fclose($fp);

?>

form:/php/253.html

以上就介绍了PHP获取指定URL页面中的所有链接,包括了方面的内容,希望对PHP教学有兴趣的朋友有所帮助。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。