php采集网页,查不到源代码设置下user-agent,cookie,Referer信息试试
另外 有些网页是先加载网页框架 然后 在通过js 来加载实际内容的 。
php获取网页源码内容有哪些办法?1、使用file_get_contents获得网页源代码 。这个方法最常用 , 只需要两行代码即可,非常简单方便 。
2、使用fopen获得网页源代码 。这个方法用的人也不少,不过代码有点多 。
3、使用curl获得网页源代码 。使用curl获得网页源代码的做法 , 往往是需要更高要求的人使用,例如当你需要在抓取网页内容的同时 , 得到网页header信息,还有ENCODING编码的使,USERAGENT的使用等等 。
所谓的网页代码,就是指在网页制作过程中需要用到的一些特殊的"语言",设计人员通过对这些"语言"进行组织编排制作出网页,然后由浏览器对代码进行"翻译"后才是我们最终看到的效果 。
制作网页时常用的代码有HTML,JavaScript,ASP , PHP,CGI等,其中超文本标记语言(标准通用标记语言下的一个应用、外语简称:HTML)是最基础的网页代码 。
怎么用php采集网站数据简单的分了几个步骤:
1、确定采集目标
2、获取目标远程页面内容(curl、file_get_contents)
3、分析页面html源码,正则匹配你需要的内容(preg_match、preg_match_all),这一步最为重要,不同页面正则匹配规则不一样
4、入库
求带登录的网站采集php源码或思路获取链接的数据以后,加个判断:如果需要登陆,则使用php的curl函数来模拟post;不需要登陆则直接采集 。
php获取网页源码内容有哪些办法可以参考以下几种方法:
方法一: file_get_contents获取
span style="white-space:pre" /span$url="";
span style="white-space:pre" /span$fh= file_get_contents
('');span style="white-space:pre" /spanecho $fh;
方法二:使用fopen获取网页源代码
span style="white-space:pre" /span$url="";
span style="white-space:pre" /span$handle = fopen ($url, "rb");
span style="white-space:pre" /span$contents = "";
span style="white-space:pre" /spanwhile (!feof($handle)) {
【php采集数据源码 php采集数据源码在哪】span style="white-space:pre"/span$contents .= fread($handle, 8192);
span style="white-space:pre" /span}
span style="white-space:pre" /spanfclose($handle);
span style="white-space:pre" /spanecho $contents; //输出获取到得内容 。
方法三:使用CURL获取网页源代码
$url="";
$UserAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
$curl = curl_init(); //创建一个新的CURL资源
curl_setopt($curl, CURLOPT_URL, $url); //设置URL和相应的选项
curl_setopt($curl, CURLOPT_HEADER, 0);//0表示不输出Header,1表示输出
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //设定是否显示头信息,1显示 , 0不显示 。//如果成功只将结果返回,不自动输出任何内容 。如果失败返回FALSE
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_ENCODING, ''); //设置编码格式 , 为空表示支持所有格式的编码
//header中“Accept-Encoding: ”部分的内容,支持的编码格式为:"identity" , "deflate","gzip" 。
curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
//设置这个选项为一个非零值(象 “Location: “)的头,服务器会把它当做HTTP头的一部分发送(注意这是递归的 , PHP将发送形如 “Location: “的头) 。
推荐阅读
- 快手直播游戏推广方法大全,快手主播推的游戏
- oracle给表加唯一约束条件,oracle添加唯一约束
- mongodb判断返回值为空,mongodb查询不为空
- ios共享播放视频软件,ios共享播放视频软件叫什么
- linux查看组命令 linux查看组gid
- html5的搜索栏小图标并排,html制作搜索框和搜索图标
- easyuijquery版本,easyui portal
- 软件毕业设计大纲范文,软件设计毕业论文范文模板
- c语言编程题调用函数 c语言程序调用函数