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 相关文章推荐
php 引用(&amp;)详解
Nov 20 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
Dec 29 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 PHP
ThinkPHP缓存方法S()概述
Jun 13 PHP
PHP中使用正则表达式提取中文实现笔记
Jan 20 PHP
php使用Jpgraph绘制饼状图的方法
Jun 10 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
浅析php静态方法与非静态方法的用法区别
May 17 PHP
PHP开发实现微信退款功能示例
Nov 25 PHP
PHP设计模式之原型模式定义与用法详解
Apr 03 PHP
php使用Swoole实现毫秒级定时任务的方法
Sep 04 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页面防重复提交方法总结
2013/11/25 PHP
thinkphp配置连接数据库技巧
2014/12/02 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
PHP中each与list用法分析
2016/01/08 PHP
PHP strip_tags保留多个HTML标签的方法
2016/05/22 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
PHP7新特性
2021/03/09 PHP
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
2019/09/05 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python捕捉和模拟鼠标事件的方法
2015/06/03 Python
python创建临时文件夹的方法
2015/07/06 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
python 检查文件mime类型的方法
2018/12/08 Python
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
OpenCV+Python--RGB转HSI的实现
2019/11/27 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
Python如何实现在字符串里嵌入双引号或者单引号
2020/03/02 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
Python如何重新加载模块
2020/07/29 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
大家访活动实施方案
2014/03/10 职场文书
学生党员公开承诺书
2014/05/28 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
煤矿施工安全协议书
2016/03/22 职场文书
python中pycryto实现数据加密
2022/04/29 Python