zoukankan      html  css  js  c++  java
  • PHP抓取网页内容的方法

    简介:这是PHP抓取网页内容的方法的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=340510' scrolling='no'>

    PHP抓取页面的内容在实际的开发当中是非常有用的,如作一个简单的内容采集器,提取网页中的部分内容等等,抓取到的内容在通过正则表达式做一下过滤就得到了你想要的内容,至于如何用正则表达式过滤,在这里就不做介绍了,有兴趣的同学可以参考板块:http://phpzixue.cn/articles11.shtml,以下就是几种常用的用php抓取网页中的内容的方法。
    1.file_get_contents
    PHP代码

    <?php    
    $url "http://www.phpzixue.cn"; 
    $contents file_get_contents($url); 
    //如果出现中文乱码使用下面代码 
    //$getcontent iconv("gb2312", "utf-8",$contents);  
    echo $contents; 
    ?>   

    2.curl
    PHP代码
    <?php    
    $url "http://www.phpzixue.cn"; 
    $ch curl_init(); 
    $timeout 5; 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
    //在需要用户检测的网页里需要增加下面两行 
    //curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
    //curl_setopt($ch, CURLOPT_USERPWD, US_NAME.":".US_PWD); 
    $contents curl_exec($ch); 
    curl_close($ch); 
    echo $contents; 
    ?> 

    3.fopen->fread->fclose
    PHP代码
    <?php    
    $handle fopen ("http://www.phpzixue.cn", "rb"); 
    $contents ""; 
    do 
       $data fread($handle, 1024); 
       if (strlen($data) == 0) 
       break; 
       
       $contents .= $data; 
    while(true); 
    fclose ($handle); 
    echo $contents; 
    ?> 

    注:
    1.使用file_get_contents和fopen必须空间开启allow_url_fopen。方法:编辑php.ini,设置allow_url_fopen = On,allow_url_fopen关闭时fopen和file_get_contents都不能打开远程文件。
    2.使用curl必须空间开启curl。方法:windows下修改php.ini,将extension=php_curl.dll前面的分号去掉,而 且需要拷贝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安装curl扩展。

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/340510.html pageNo:7
  • 相关阅读:
    基于Python的人脸动漫转换
    let 与 var的区别
    【LeetCode】汇总
    【HDU】4632 Palindrome subsequence(回文子串的个数)
    【算法】均匀的生成圆内的随机点
    【LeetCode】725. Split Linked List in Parts
    【LeetCode】445. Add Two Numbers II
    【LeetCode】437. Path Sum III
    【LeetCode】222. Count Complete Tree Nodes
    【LeetCode】124. Binary Tree Maximum Path Sum
  • 原文地址:https://www.cnblogs.com/ooooo/p/2245239.html
Copyright © 2011-2022 走看看