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加速 eAccelerator配置和使用指南
Jun 05 PHP
php strrpos()与strripos()函数
Aug 31 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
php+ajax实现无刷新分页的方法
Nov 04 PHP
PHP转盘抽奖接口实例
Feb 09 PHP
PHP调用.NET的WebService 简单实例
Mar 27 PHP
Laravel 5 框架入门(四)完结篇
Apr 09 PHP
PHP数组和explode函数示例总结
May 08 PHP
php实现模拟登陆方正教务系统抓取课表
May 19 PHP
WordPress开发中短代码的实现及相关函数使用技巧
Jan 05 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
Laravel配合jwt使用的方法实例
Oct 25 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 empty函数判断mysql表单是否为空
2010/04/12 PHP
php学习之流程控制实现代码
2011/06/09 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
PHP读取汉字的点阵数据
2015/06/22 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
jQuery跨域问题解决方案
2015/08/03 Javascript
javascript实现简易计算器的代码
2016/05/31 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
Win10下Python环境搭建与配置教程
2016/11/18 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
Python获取当前路径实现代码
2017/05/08 Python
Python多线程扫描端口代码示例
2018/02/09 Python
python实现教务管理系统
2018/03/12 Python
django中使用POST方法获取POST数据
2019/08/20 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
Bluebella德国官网:英国性感内衣和睡衣品牌
2019/11/08 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
会议活动邀请函
2014/01/27 职场文书
《圆明园的毁灭》教学反思
2014/02/28 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
教师党员个人自我评价
2015/03/04 职场文书
中学校园广播稿
2015/08/18 职场文书
golang使用map实现去除重复数组
2022/04/14 Golang