1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php登录页面后抓取页面内容 PHP模拟登陆抓取页面内容

php登录页面后抓取页面内容 PHP模拟登陆抓取页面内容

时间:2021-11-26 12:41:33

相关推荐

php登录页面后抓取页面内容 PHP模拟登陆抓取页面内容

平时开发中经常会遇到抓取某个页面内容, 但是有时候某些页面需要登陆才能访问, 最常见的就是论坛, 这时候我们需要来使用curl模拟登陆。 大致思路:需要先请求提取 cookies 并保存,然后利用保存下来的这个cookies再次发送请求来获取页面内容,下面我们直接上代码<?php

/**

*@BriefPHP读取Curl模拟登陆,获取cookie,带cookie进行请求

*@Date:/7/2

*@Time:9:41

*/

//设置cookie保存位置

$cookieFile=dirname(__FILE__).'cookie.curl.tmp';

//第一步:获取cookie

$url='';

$data=array(

'username'=>'pythontab',

'password'=>'pythontab',

);

//curl初始化

$ch=curl_init();

curl_setopt($ch,CURLOPT_URL,$url);

//设置为post请求

curl_setopt($ch,CURLOPT_POST,true);

//设置附带返回header信息为空

curl_setopt($ch,CURLOPT_HEADER,0);

//post数据

curl_setopt($ch,CURLOPT_POSTFIELDS,$data);

//cookie保存文件位置

curl_setopt($ch,CURLOPT_COOKIEJAR,$cookieFile);

//设置数据返回作为变量储存,而不是直接输出

curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

//执行请求

$ret=curl_exec($ch);

//关闭连接

curl_close($ch);

//第二步:附带cookie请求需要登陆的页面

$url='';

//curl初始化

$ch=curl_init();

curl_setopt($ch,CURLOPT_URL,$url);

//设置为post请求

curl_setopt($ch,CURLOPT_POST,true);

//设置附带返回header信息为空

curl_setopt($ch,CURLOPT_HEADER,0);

//设置cookie信息文件位置,注意与第二步中的获取不同,这里是读取

curl_setopt($ch,CURLOPT_COOKIEFILE,$cookieFile);

//设置数据返回作为变量储存,而不是直接输出

curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

//执行请求

$ret=curl_exec($ch);

//关闭连接

curl_close($ch);

//打印抓取内容

var_dump($ret);

这样我们就抓取到了需要登陆才能访问页面的内容, 注意上面的地址只是一个示例,需要换成你想要抓取页面的地址。 这样我们就可以做到很多事情了, 千万不要做坏事哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。