Home  >  Article  >  Backend Development  >  PHP获取网页所有连接的方法(附demo源码下载)_php技巧

PHP获取网页所有连接的方法(附demo源码下载)_php技巧

WBOY
WBOYOriginal
2016-05-16 19:55:041899browse

本文实例讲述了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基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn