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 模拟POST|GET操作实现代码
Jul 20 PHP
理解php Hash函数,增强密码安全
Feb 25 PHP
深入php self与$this的详解
Jun 08 PHP
php中利用explode函数分割字符串到数组
Feb 08 PHP
destoon调用企业会员公司形象图片的实现方法
Aug 21 PHP
php将文本文件转换csv输出的方法
Dec 31 PHP
memcache一致性hash的php实现方法
Mar 05 PHP
Apache PHP MySql安装配置图文教程
Aug 27 PHP
windows环境下使用Composer安装ThinkPHP5
May 18 PHP
如何优雅的使用 laravel 的 validator验证方法
Nov 11 PHP
PHP函数积累总结
Mar 19 PHP
Laravel登录失败次数限制的实现方法
Aug 26 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入门之连接mysql数据库的一个类
2012/04/21 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
php获取网页请求状态程序示例
2014/06/17 PHP
PHP技术开发微信公众平台
2015/07/22 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
用JavaScript脚本实现Web页面信息交互
2006/10/11 Javascript
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
javascript学习笔记(三) String 字符串类型介绍
2012/06/19 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
2016/08/23 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
微信小程序 开发工具快捷键整理
2016/10/31 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
微信小程序动态的加载数据实例代码
2017/04/14 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
vue中的inject学习教程
2019/04/24 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
给Python中的MySQLdb模块添加超时功能的教程
2015/05/05 Python
Python Collatz序列实现过程解析
2019/10/12 Python
python实现简单猜单词游戏
2020/12/24 Python
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
Born鞋子官网:Born Shoes
2017/04/06 全球购物
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
银行实习人员自我鉴定
2013/09/22 职场文书
材料加工硕士生求职信
2013/10/10 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
CSS3 制作的书本翻页特效
2021/04/13 HTML / CSS