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 相关文章推荐
第五节 克隆 [5]
Oct 09 PHP
六酷社区论坛HOME页清新格调免费版 下载
Mar 07 PHP
快速配置PHPMyAdmin方法
Jun 05 PHP
php中使用Curl、socket、file_get_contents三种方法POST提交数据
Aug 12 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
Jul 22 PHP
PHP面向对象程序设计之接口用法
Aug 20 PHP
Apache连接PHP后无法启动问题解决思路
Jun 18 PHP
PHP缓冲区用法总结
Feb 14 PHP
thinkphp3.x中cookie方法的用法分析
May 19 PHP
关于PHP中协程和阻塞的一些理解与思考
Aug 11 PHP
PHP中__set()实例用法和基础讲解
Jul 23 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
Sublime里直接运行PHP配置方法
2014/11/28 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
浅析javascript的return语句
2015/12/15 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
Electron 如何调用本地模块的方法
2019/02/01 Javascript
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
python版学生管理系统
2018/01/10 Python
flask中过滤器的使用详解
2018/08/01 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
python sklearn常用分类算法模型的调用
2019/10/16 Python
python实现批量命名照片
2020/06/18 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
linux下进程间通信的方式
2013/01/23 面试题
软件测试企业面试试卷
2016/07/13 面试题
入党申请人的自我鉴定
2013/12/01 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
医院科室评语
2015/01/04 职场文书
2016七一建党节慰问信
2015/11/30 职场文书
初中政治教学反思
2016/02/23 职场文书
励志语录:你若不勇敢,谁替你坚强
2019/11/08 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python