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系统流量分析的程序
Oct 09 PHP
PHP5 面向对象程序设计
Feb 13 PHP
WordPress判断用户是否登录的代码
Mar 17 PHP
php将gd生成的图片缓存到memcache的小例子
Jun 05 PHP
windows中为php安装mongodb与memcache
Jan 06 PHP
zen cart实现订单中增加paypal中预留电话的方法
Jul 12 PHP
PHP模拟http请求的方法详解
Nov 09 PHP
PHP实现的mongoDB数据库操作类完整实例
Apr 10 PHP
php实现微信企业转账功能
Oct 02 PHP
Laravel开启跨域请求的方法
Oct 13 PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 PHP
基于php伪静态的实现方法解析
Jul 31 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写入数据到CSV文件的方法
2015/03/14 PHP
两种php去除二维数组的重复项方法
2015/11/04 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
无缝滚动改进版支持上下左右滚动(封装成函数)
2012/12/04 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
vue-cli3 引入 font-awesome的操作
2020/08/11 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
Python实现的HTTP并发测试完整示例
2020/04/23 Python
python简单的函数定义和用法实例
2015/05/07 Python
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
Django日志模块logging的配置详解
2017/02/14 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
Python单体模式的几种常见实现方法详解
2017/07/28 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
设计毕业生简历中的自我评价
2013/10/01 职场文书
医院总经理岗位职责
2014/02/04 职场文书
行政部岗位职责范本
2014/03/13 职场文书
2014年药剂科工作总结
2014/11/26 职场文书
写景作文评语集锦
2014/12/25 职场文书
先进个人总结范文
2015/02/15 职场文书
幼儿园综治宣传月活动总结
2015/05/07 职场文书
Python爬虫数据的分类及json数据使用小结
2021/03/29 Python
python实现过滤敏感词
2021/05/08 Python