PHP获取网页所有连接的方法(附demo源码下载)


Posted in PHP onMarch 30, 2016

本文实例讲述了PHP获取网页所有连接的方法。分享给大家供大家参考,具体如下:

function getHtml($url, $charset='utf-8')
{
  $curl = curl_init();
  //curl_setopt($curl, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:192.168.168.1', 'CLIENT-IP:192.168.168.1'));//IP
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_REFERER, "");  //来路
  $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31';
  curl_setopt($curl, CURLOPT_USERAGENT, $user_agent);
  // 只需返回HTTP header
  // curl_setopt($curl, CURLOPT_HEADER, 1);
  // 页面内容我们并不需要
  // curl_setopt($curl, CURLOPT_NOBODY, 1);
  // 返回结果,而不是输出它
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  $html = curl_exec($curl);
  //$info = curl_getinfo($curl);
  //echo var_dump($info);
  if ($html === false) {
    //echo "cURL Error: " . curl_error($ch);
    return '';
  }
  curl_close($curl);
  if ($charset != 'utf-8')
  {
    $html = iconv($charset, "UTF-8", $html);
  }
  return $html;
}
header("Content-type: text/html; charset=utf-8");
include('simple_html_dom.php');
// 要打开 extension=php_mbstring.dll
//$url = 'http://www.baidu.com/s?wd=kaka';
$url = 'http://www.163.com/';
$str_html = getHtml($url, 'gbk');
$html = str_get_html($str_html);
$links = $html->find('a');
foreach($links as $link)
{
  $txt = trim($link->plaintext);
  echo $link->href . '[' . $txt . ']<br>';
}
$html = null;

完整实例代码点击此处本站下载。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
第六节 访问属性和方法 [6]
Oct 09 PHP
php 定界符格式引起的错误
May 24 PHP
php像数组一样存取和修改字符串字符
Mar 21 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 PHP
phpmyadmin中禁止外网使用的方法
Nov 04 PHP
PHP学习笔记(二):变量详解
Apr 17 PHP
php之static静态属性与静态方法实例分析
Jul 30 PHP
php如何实现只替换一次或N次
Oct 29 PHP
Linux php 中文乱码的快速解决方法
May 13 PHP
php设计模式之单例模式代码
Jun 11 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 PHP
PHP记录页面停留时间的方法
Mar 30 #PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
Mar 30 #PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 #PHP
Laravel路由设定和子路由设定实例分析
Mar 30 #PHP
PHP的Yii框架中过滤器相关的使用总结
Mar 29 #PHP
简介PHP的Yii框架中缓存的一些高级用法
Mar 29 #PHP
深入解析PHP的Yii框架中的缓存功能
Mar 29 #PHP
You might like
PHP通用检测函数集合
2006/11/25 PHP
ThinkPHP中实例Model方法的区别说明
2010/08/21 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
javascript document.compatMode兼容性
2010/02/23 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
AngularJS学习笔记之依赖注入详解
2016/05/16 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
Vue 使用Props属性实现父子组件的动态传值详解
2019/11/13 Javascript
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
python自动zip压缩目录的方法
2015/06/28 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
python爬取微博评论的实例讲解
2021/01/15 Python
可持续木材、生态和铝制太阳镜:Proof Eyewear
2019/07/24 全球购物
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
心得体会范文
2014/01/04 职场文书
2014年手术室工作总结
2014/11/26 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
采购部年度工作总结
2015/08/13 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
MySQL Router的安装部署
2021/04/24 MySQL
Python 线程池模块之多线程操作代码
2021/05/20 Python
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript