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去除重复字的实现代码
Sep 16 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
Sep 25 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
php函数间的参数传递(值传递/引用传递)
Sep 23 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
Aug 20 PHP
php的XML文件解释类应用实例
Sep 22 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
Mar 18 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
Jul 01 PHP
CI框架整合smarty步骤详解
May 19 PHP
PHP使用第三方即时获取物流动态实例详解
Apr 27 PHP
PHP基于自定义类随机生成姓名的方法示例
Aug 05 PHP
php-7.3.6 编译安装过程
Feb 11 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 array_flip() 删除数组重复元素
2009/01/14 PHP
php与mysql建立连接并执行SQL语句的代码
2011/07/04 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
Mac下关于PHP环境和扩展的安装详解
2019/10/17 PHP
WordPress伪静态规则设置代码实例
2020/12/10 PHP
对联广告js flash激活
2006/10/19 Javascript
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
2013/08/05 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
Vue组件通信的几种实现方法
2019/04/25 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
微信小程序用户登录和登录态维护的实现
2020/12/10 Javascript
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
python使用socket向客户端发送数据的方法
2015/04/29 Python
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
tensorflow 获取变量&amp;打印权值的实例讲解
2018/06/14 Python
详解pyppeteer(python版puppeteer)基本使用
2019/06/12 Python
Python 变量的创建过程详解
2019/09/02 Python
Python中格式化字符串的四种实现
2020/05/26 Python
美国打印机墨水和碳粉购物网站:QuikShip Toner
2018/08/29 全球购物
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
英文简历自荐信范文
2013/12/11 职场文书
半年思想汇报
2013/12/30 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
2015年药店店长工作总结
2015/04/29 职场文书
工作失职检讨书范文
2015/05/05 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP