PHP如何获取需要登陆后才能看到的网页HTML代码

PHP如何获取需要登陆后才能看到的网页HTML代码,第1张

实际上是个模拟登陆的问题,需要写个登陆模块,解决两个问题:

1,请求登陆并刷新的函数部分:

<php

/函数部分/

/获取指定网页内容

$url为网页地址

/

function getcontent($url){

if($open=file($url)){

$count=count($open);

for($i=0;$i<$count;$i++)

{

$theget=$open[$i];

}

}else{

die('请求过多,超时,请刷新');

}

return $theget;

}

>

2,偷取程序部分,也分两部分,

1),PHP与XML不同之处是需要特殊的调用才能支持COOKIE或者记录SessionID(后面有说明程序)

php代码如下

<PHP

//登陆并保存COOKIE

$f = fsockopen(" >

PHP Simple HTML DOM或者phpQuery可以直接取得某些div中的内容,里面有几个例子专门针对于网页抓取,调整好抓取频次,舍去已经存在的数据,你可以参考下

>

不要用file_get_contents函数。

用snoopy的类,网上有snoopyclassphp,你自行百度查找。

snoopy的类可以设置$proxy_host参数,设置代理主机,$proxy_port是代理主机端口。你下载一个下来,网上的教程很多,看看应该明白。

一、用file_get_contents函数,以post方式获取url

<php

$url= '>

$data= array('foo'=> 'bar');

$data= >

$opts= array(

'>

'method'=> 'POST',

'header'=>"Content-type: application/x->

"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= >

$opts= array(

'>

'method'=> 'POST',

'header'=>"Content-type: application/x->

urlencoded\r\nCookie:cook1=c3;cook2=c4\r\n"  

"Content-Length: "   strlen($data)  "\r\n",

'content'=> $data

)

);

$context= stream_context_create($opts);

$html= fopen('>

$w=fread($html,1024);

echo$w;

>

五、使用curl库,使用curl库之前,可能需要查看一下phpini是否已经打开了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如何获取需要登陆后才能看到的网页HTML代码全部的内容,包括:PHP如何获取需要登陆后才能看到的网页HTML代码、如何查看php页面的源代码、PHP怎样抓取网页代码中动态显示的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9733328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存