开发面试题 leetcodeLCP Jenkins wpf datagridview node binding reference nuget jtable signalr vue插件 vue学习 vue树形菜单 郑州网站建设 jquery移除子元素 安卓小程序源码 mysql数据库名称 oracle限制查询条数 mysql删除一列 matlab自然对数 python开发教程 python安装教程 python高级教程 python中的map函数 python中import用法 python函数返回 java开发环境 java入门教程 java学习教程 java读取文件数据 java连接sql 网页游戏开发入门 ntscan pushstate js图片上传 backtrack3 maya2016教程 微信骰子表情包 保留小数点后两位
当前位置: 首页 > 学习教程  > 编程学习

php根据URL获得网页内容

2021/1/9 1:58:41 文章标签: php抓取网页内容

PHP 中根据url来获得网页内容非常的方便&#xff0c;可以通过系统内置函数file_get_contents(),传入url,即可返回网页的内容&#xff0c;比如获得百度首页的内容代码为&#xff1a; [php] view plaincopy print?<?php $html file_get_contents(http://www.baidu.com/);…

PHP 中根据url来获得网页内容非常的方便,可以通过系统内置函数file_get_contents(),传入url,即可返回网页的内容,比如获得百度首页的内容代码为:

[php]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <?php  
  2. $html = file_get_contents('http://www.baidu.com/');  
  3.   
  4. echo $html;  

就可以显示出百度首页的内容,但是,这个函数不是万能的,因为有些服务器会禁用掉这个函数,或者说这个函数因为没有传给服务器某些必要的参数,而被服务器拒绝响应,举个例子:


[php]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <?php  
  2. $html = file_get_contents('http://www.163.com/');  
  3.   
  4. echo $html;  

这个代码就不能得到网易的首页完全的代码,会返回如下的页面,这时我们就需要想其他的办法了。



这里我们引入php的cURL 库,可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库使用它首先你得在php的配置文件中开启它,开启的时候,在windows中可能需要一些 dll,这里就不相信介绍了,查看是否开启了curl,可以调用phpinfo();来查看,如果开启了,会在“Loaded Extensions”中显示。


下面给出使用curl获取网页代码的简单例子:

[php]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <?php  
  2. $ch = curl_init();  
  3. $timeout = 10; // set to zero for no timeout  
  4. curl_setopt ($ch, CURLOPT_URL,'http://www.163.com/');  
  5. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);   
  6. curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36');  
  7. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
  8. $html = curl_exec($ch);  
  9. echo $html;  

通过这段代码就可以输出网易首页的内容了,这里标记红颜色的代码是关键,因为他模拟了浏览器的agent,这样服务器就会以为它是浏览器去访问的,所以给他返回正确的html.


本文链接: http://www.dtmao.cc/news_show_1100174.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?