Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PHP 获取指定 URL 页面中的所有链接

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

原创
作者头像
Z4
修改于 2020-04-22 07:00:00
修改于 2020-04-22 07:00:00
8.4K00
代码可运行
举报
文章被收录于专栏:R专栏R专栏
运行总次数:0
代码可运行

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 获取链接的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 开头的链接地址:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 获取链接的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 />';
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
php-获得网页的所有链接
浏览量 1 <?php $url="http://www.baidu.com"; // 获取链接的HTML代码 $html=file_get_contents($url); // 创建DOMdoc
kdyonly
2023/03/03
2.6K0
六个有用的 PHP 片段或技巧
网上有很多 PHP 代码片段可以提高开发效率,也可以学习一下其中的技巧而应用在自己的项目中,下面就精选了几个比较有用的 PHP 片段。
V站CEO-西顾
2018/06/12
1.4K1
为开发者准备的9个实用PHP代码片段
一.查看邮件是否已被阅读 当你发送邮件时,你肯定很想知道你的邮件是否已被对方查看。下面的代码就能实现记录阅读你邮件的IP地址,还有实际的阅读日期和时间。 error_reporting(0); Header("Content-Type: image/jpeg"); //Get IP if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HT
wangxl
2018/03/07
8370
PHP 怎么使用 XPath 来采集页面数据内容
之前有说过使用 Python 使用 XPath 去采集页面数据内容,前段时间参与百度内测的一个号主页展现接口,需要文章页面改造的application/ld+json代码
沈唁
2018/12/19
2.1K0
php xPath 使用简单爬虫记录
简单爬虫记录 网站初期,需要快速上线,需要大量有质量的内容,需要采集。 采集需要知道的知识点 php发起网络请求的相关的函数 file_get_contents fscokopen curl 其他
友儿
2022/09/11
1.6K0
PHP爬虫性能优化:从多线程到连接池的实现
随着网络数据的爆炸式增长,爬虫技术成为数据获取的重要工具。从市场调研到用户行为分析,爬虫的应用无处不在。然而,在实际应用中,我们常常遇到爬虫性能不足的问题:单线程处理效率低下、请求超时、数据采集量庞大却无法及时处理等,这些问题严重限制了爬虫技术的潜能。
jackcode
2024/12/02
1780
PHP爬虫性能优化:从多线程到连接池的实现
PHP编程实践:实际商品价格数据采集
在电子商务领域,对商品价格进行数据采集和对比是一项常见的需求。本文将介绍如何使用PHP编程语言实现对1688和淘宝商品价格数据的采集和对比,帮助读者了解实际的编程实践过程。
小白学大数据
2024/01/19
3140
使用PHP DOM解析器提取HTML中的链接——解决工作中的实际问题
在日常的Web开发工作中,我们经常需要处理HTML文档,并从中提取特定信息,比如链接、图片地址等。今天,我就遇到了一个典型的场景,需要从一个复杂的HTML页面中提取所有<a>标签的href属性值,以便进行进一步的数据分析或内容聚合。通过这个过程,我发现了PHP DOM解析器的强大之处,它不仅能帮助我们轻松处理HTML文档,还能保证数据的准确性和完整性。
高久峰
2024/07/10
4620
大胆尝试 | 不懂php用ai-kimi花2小时写一个wordpress网站的采集微信文章的插件
一个有趣的尝试,看到一些微信文章,想要发布到自己的wordpress网站,如果不会php语言,那ai帮助自己一步步来实现,是否可以呢?下面是实现的全过程。
富泰科
2024/04/16
6670
大胆尝试 | 不懂php用ai-kimi花2小时写一个wordpress网站的采集微信文章的插件
超越常规:用PHP抓取招聘信息
在人力资源管理方面,有效的数据采集可以为公司提供宝贵的人才洞察。通过分析招聘网站上的职位信息,人力资源专员可以了解市场上的人才供给情况,以及不同行业和职位的竞争状况。这样的数据分析有助于企业制定更加精准的招聘策略,从而提高招聘效率和成功率。
jackcode
2024/04/09
2580
超越常规:用PHP抓取招聘信息
Buzz库网络爬虫实例:快速爬取百度搜索实时热点
随着互联网的发展,信息获取已经成为了人们日常生活和工作中的重要一环。而在信息获取的过程中,网络爬虫作为一种自动化的数据采集工具,为我们提供了极大的便利。本文将介绍如何利用PHP编写一个简单而高效的网络爬虫,实现快速爬取百度搜索的实时热点内容,以满足实时获取信息的需求。
小白学大数据
2024/05/23
1500
PHP全栈学习笔记13
web2.0的到来,ajax逐渐成为主流,什么是ajax,ajax的开发模式,优点,使用技术。(ajax概述,ajax使用的技术,需要注意的 问题,在PHP应用ajax技术的应用)
达达前端
2019/07/03
1.4K0
PHP全栈学习笔记13
php解析xml
今天遇到一个需求:将某个xml中的节点属性提取出来,然后更新数据库某一表中的字段。
meteoric
2018/11/16
3.4K0
XML和PHP
1、XML知识 Xml就是可扩展标记语言与html一样,都是通用标记语言。 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
苦咖啡
2018/05/07
1.7K0
PHP 8.4 官方重大更新功能来啦!
Tinywan
2024/11/22
4050
PHP 8.4 官方重大更新功能来啦!
PHP中使用DOMDocument来处理HTML、XML文档
其实从PHP5开始,PHP就为我们提供了一个强大的解析和生成XML相关操作的类,也就是我们今天要讲的 DOMDocument 类。不过我估计大部分人在爬取网页时还是会喜欢用正则去解析网页内容,学了今天的这个类下回就可以尝试下使用这个PHP自带的方式来进行解析分析了。
硬核项目经理
2020/05/13
3.7K0
浅析XML外部实体注入
文章首发于跳跳糖社区https://tttang.com/archive/1716/
用户9691112
2023/05/18
2.4K0
浅析XML外部实体注入
XssHtml – 基于白名单的富文本XSS过滤类
啦啦啦,去了北京参加荣耀6的发布会,真心不错呀这款手机,在这里无耻地推荐一下。与会的同学都获得了一枚荣耀6,说说我的感受吧:CPU真心给力,跑分很高;价格合理,2000是荣耀一贯的高性价比;特权给力,寝室的Chinanet可以免费用了;相机真不错,全景拍照,把整个鸟巢拍得一清二楚,抓拍也很给力,黑屏状态下按两次音量下就能在0.6秒完成一次拍摄;触屏很舒服,滑动没有一丝卡顿。
phith0n
2020/10/15
1.7K0
软件安全性测试(连载16)
顾翔老师近期推出一对一入职面试辅导。有兴趣者可加微信xianggu19720625与我联系。先要提供简历初选,合适者进一步洽谈。
顾翔
2020/01/17
4220
PHP获取指定地区的天气
在开发网站的时候用到天气查询,由于是基于Wordpress的 所以有很多限制,先建一个【weather.php】的文件,然后看代码:
他叫自己MR.张
2019/07/01
1.3K0
相关推荐
php-获得网页的所有链接
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验