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 相关文章推荐
介绍几个array库的新函数 php
Dec 29 PHP
php表单提交问题的解决方法
Apr 12 PHP
php的list()的一步操作给一组变量进行赋值的使用
May 18 PHP
php 团购折扣计算公式
Nov 24 PHP
input file获得文件根目录简单实现
Apr 26 PHP
数组与类使用PHP的可变变量名需要的注意的问题
Jun 20 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
Nov 20 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
Nov 29 PHP
PHP中Http协议post请求参数
Nov 02 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
Dec 29 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
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
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
文件上传程序的全部源码
2006/10/09 PHP
关于js和php对url编码的处理方法
2014/03/04 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
JS window.opener返回父页面的应用
2009/10/24 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
2016/05/30 Javascript
实例详解display:none与visible:hidden的区别
2017/03/30 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
微信小程序实现拼图小游戏
2020/10/22 Javascript
使用Python抓取模板之家的CSS模板
2015/03/16 Python
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
python web基础之加载静态文件实例
2018/03/20 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
给实习单位的感谢信
2014/02/01 职场文书
社区庆八一活动方案
2014/02/02 职场文书
趣味比赛活动方案
2014/02/15 职场文书
党员承诺书怎么写
2014/05/20 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
学雷锋日活动总结
2015/02/06 职场文书
卡特教练观后感
2015/06/08 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
2022/04/21 Python