PHP获取网站中的url
2016-06-03 14:02
232 查看
最近在做一个项目,需要抓取网站中的数据,网上常用的方法是使用get_files_content之后,再使用正则进行匹配。今天通过实践找到一种新的方式,使用DOMDocument操作xml的方式,可快速的获取页面中的url地址。
<?php $target_url = "http://www.expamle.com"; $html = file_get_contents($target_url); $dom = new DOMDocument(); // 创建一个DOMDocument对象 @$dom->loadHTML($html); // 加载xml,html为特殊的xml $xpath = new DOMXPath($dom); //创建一个DOMXPath对象,DOMXPath使用XPath语法进行数据的定位和采集 $hrefs = $xpath->evaluate('/html/body//a'); for ($i = 0; $i < $hrefs->length; $i++) { $href = $hrefs->item($i); $url = $href->getAttribute('href'); if(substr($url, 0, 4) == 'http')// 保留以http开头的链接 echo $url.'<br />'; } ?>
以上的只是一个示例,在使用过程中可以将其封装成方法。在页面中使用DOMDocument可以简化很多操作,快速获取html中的数据。但在PHP中DOMDocument的使用大致都是英文的,需要在使用的时候不断学习和总结。
相关文章推荐
- 一个关于if else容易迷惑的问题
- java-用HttpURLConnection发送Http请求.
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- php7 读取php.ini[4]
- VBScript 剪贴板抓取URL并在浏览器中打开
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得