今天给各位分享php抓取页面指定内容的知识,其中也会对php抓取页面指定内容进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
php获取指定网页内容
一、用file_get_contents函数,以post方式获取url
?php
$url= '';
$data= array('foo'= 'bar');
$data= http_build_query($data);
$opts= array(
'http'= array(
'method'= 'POST',
'header'="Content-type: application/x-www-form-urlencoded\r\n" .
"Content-Length: " . strlen($data) . "\r\n",
'content'= $data
)
);
$ctx= stream_context_create($opts);
$html= @file_get_contents($url,'',$ctx);
二、用file_get_contents以get方式获取内容
?php
$url='';
$html= file_get_contents($url);
echo$html;
?
三、用fopen打开url, 以get方式获取内容
?php
$fp= fopen($url,'r');
$header= stream_get_meta_data($fp);//获取报头信息
while(!feof($fp)) {
$result.= fgets($fp, 1024);
}
echo"url header: {$header} br":
echo"url body: $result";
fclose($fp);
?
四、用fopen打开url, 以post方式获取内容
?php
$data= array('foo2'= 'bar2','foo3'='bar3');
$data= http_build_query($data);
$opts= array(
'http'= array(
'method'= 'POST',
'header'="Content-type: application/x-www-form-
urlencoded\r\nCookie:cook1=c3;cook2=c4\r\n" .
"Content-Length: " . strlen($data) . "\r\n",
'content'= $data
)
);
$context= stream_context_create($opts);
$html= fopen(';id2=i4','rb',false, $context);
$w=fread($html,1024);
echo$w;
?
五、使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展
?php
$ch= curl_init();
$timeout= 5;
curl_setopt ($ch, CURLOPT_URL, '');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents= curl_exec($ch);
curl_close($ch);
echo$file_contents;
?
php用正规表达式获取网页指定内容
?php
$str
=
str
th1/th
td
class="key"a
href="网址1"
target="_blank"你要的地址1/a/td
th2/th
td
class="key"a
href="网址2"
target="_blank"你要的地址2/a/td
th3/th
td
class="key"a
href="网址3"
target="_blank"你要的地址3/a/td
th4/th
td
class="key"a
href="网址4"
target="_blank"你要的地址4/a/td
th5/th
td
class="key"a
href="网址5"
target="_blank"你要的地址5/a/td
str;
$p
=
'#td
class="key"a
href="(.*)"
target="_blank"(.*)/a/td#iUs';
preg_match_all($p,$str,$ar);
print_r($ar[0]);
?
$ar[0]
的所有值就是你想要的地址了
测试过
没问题
PHP抓取网页指定内容
?php
/*
* 如下: 方法有点笨
* 抓取网页内容用 PHP 的正则
* 用JS每隔5分钟刷新当前页面---即重新获取网页内容
*
* 注: $mode中--title/title-更改为所需内容(如 $mode = "#a(.*)/a#";获取所有链接)
*
* window.location.href="";中的
* 更改为自己的URL----作用:即刷新当前页面
*
* setInterval("ref()",300000);是每隔300000毫秒(即 5 * 60 *1000 毫秒即5分钟)执行一次函数 ref()
*
* print_r($arr);输出获得的所有内容 $arr是一个数组 可根据所需输出一部分(如 echo $arr[1][0];)
* 若要获得所有内容 可去掉
* $mode = "#title(.*)/title#";
if(preg_match_all($mode,$content,$arr)){
print_r($arr);
echo "br/";
echo $arr[1][0];
}
再加上 echo $content;
*/
$url = ""; //目标站
$fp = @fopen($url, "r") or die("超时");
$content=file_get_contents($url);
$mode = "#title(.*)/title#";
if(preg_match_all($mode,$content,$arr)){
//print_r($arr);
echo "br/";
echo $arr[1][0];
}
?
script language="JavaScript" type="text/javascript"
--
function ref(){
window.location.href="";
}
setInterval("ref()",300000);
//--
/script
php抓取页面内容
?php
$rs=file_get_contents('');
preg_match('/table width="600" border="0" cellpadding="5" cellspacing="1" bgcolor="#EAEAEA"(.*?)\/table/sS',$rs,$match);
// print_r($match);
$rs = str_replace(array('/tr','/td','tr align="center"','td bgcolor="#FFFFFF"'),array('|',';'),$match[1]);
//
$data = array();
$rs = explode('|',$rs);
foreach($rs as $key=$item){
if($key0){
$arr = explode(';',$item);
($a = @trim($arr[0])) ($b = @trim($arr[5])) $data[] = array($a,$b);
}
}
print_r($data);
?
php获取网页源码内容有哪些办法?
1、使用file_get_contents获得网页源代码。这个方法最常用,只需要两行代码即可,非常简单方便。
2、使用fopen获得网页源代码。这个方法用的人也不少,不过代码有点多。
3、使用curl获得网页源代码。使用curl获得网页源代码的做法,往往是需要更高要求的人使用,例如当你需要在抓取网页内容的同时,得到网页header信息,还有ENCODING编码的使,USERAGENT的使用等等。
所谓的网页代码,就是指在网页制作过程中需要用到的一些特殊的"语言",设计人员通过对这些"语言"进行组织编排制作出网页,然后由浏览器对代码进行"翻译"后才是我们最终看到的效果。
制作网页时常用的代码有HTML,JavaScript,ASP,PHP,CGI等,其中超文本标记语言(标准通用标记语言下的一个应用、外语简称:HTML)是最基础的网页代码。
PHP 如何获取到一个网页的内容
1.file_get_contents
PHP代码
复制代码 代码如下:
?php
$url = "";
$contents = file_get_contents($url);
//如果出现中文乱码使用下面代码
//$getcontent = iconv("gb2312", "utf-8",$contents);
echo $contents;
?
2.curl
PHP代码
复制代码 代码如下:
?php
$url = "";
$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 ("", "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扩
展。
关于php抓取页面指定内容和php抓取页面指定内容的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » php抓取页面指定内容(php抓取页面指定内容)