PHP 超链接 抓取实现代码


Posted in PHP onJune 29, 2009

通用HTML标准超链接参数取得正则表达式测试
因为最近要做一个类似专业搜索引擎的东西,需要抓取网页的所有超链接。
大家帮忙测试一下子,下面的代码是否可以针对所有的标准超链接。
测试代码如下:

<?php 
// -------------------------------------------------------------------------- 
// File name : Noname1.php 
// Description : 通用链接参数获取正则表达式测试 
// Requirement : PHP4 (http://www.php.net) 
// Copyright(C), HonestQiao, 2005, All Rights Reserved. 
// Author: HonestQiao (honestqiao@hotmail.com) 
// 参数说明: 
// $strSource: 包含标准链接的HTML网页 
// $strResult: 处理的结果 
// 附加说明: 
// 标准链接,使用<a></a>形势包含的链接 
// -------------------------------------------------------------------------- 
$strSource = <<<HTML 
<a href=1.htm>t1</a> 
<a href='2.htm'>t2</a> 
<a href="3.htm">t3</a> 
<a href=4.htm class=link>t4</a> 
HTML; 
preg_match_all('/<a.*?(?: \\t\\r\\n)?href=[\'"]?(.+?)[\'"]?(?:(?: \\t\\r\\n)+.*?)?>(.+?)<\/a.*?>/sim', $strSource, $strResult, PREG_PATTERN_ORDER); 
for($i = 0; $i < count($strResult[1]); $i++) 
{ 
printf("%d href=(%s) title=(%s) \n", $i, $strResult[1][$i], $strResult[2][$i]); 
} 
?>

如果您的测试数据,符合标准链接,但是此处没有被处理出来,请告诉我测试数据,以及你的测试环境。
谢谢。
PHP 相关文章推荐
基于mysql的bbs设计(三)
Oct 09 PHP
CodeIgniter php mvc框架 中国网站
May 26 PHP
php auth_http类库进行身份效验
Mar 19 PHP
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
Apr 13 PHP
php后门URL的防范
Nov 12 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
PHP合并discuz用户脚本的方法
Aug 04 PHP
ZF框架实现发送邮件的方法
Dec 03 PHP
php实现爬取和分析知乎用户数据
Jan 26 PHP
php仿微信红包分配算法的实现方法
May 13 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
PHP 文件上传功能实现代码
Jun 24 #PHP
php addslashes 函数详细分析说明
Jun 23 #PHP
PHP n个不重复的随机数生成代码
Jun 23 #PHP
PHP 七大优势分析
Jun 23 #PHP
php 404错误页面实现代码
Jun 22 #PHP
PHP 多进程 解决难题
Jun 22 #PHP
PHP 高级课程笔记 面向对象
Jun 21 #PHP
You might like
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
nodejs使用redis作为缓存介质实现的封装缓存类示例
2018/02/07 NodeJs
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
ES6 十大特性简介
2020/12/09 Javascript
[02:40]DOTA2英雄基础教程 先知
2013/11/29 DOTA
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
详解Python中的from..import绝对导入语句
2016/06/21 Python
浅谈python迭代器
2017/11/08 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
pandas把dataframe转成Series,改变列中值的类型方法
2018/04/10 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
你所知道的集合类都有哪些?主要方法?
2012/12/31 面试题
食品行业求职人的自我评价
2014/01/19 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
高中体育课教学反思
2016/02/16 职场文书
学前班教学反思
2016/02/24 职场文书