php模拟登陆抓取页面内容 curl使用方法
程序员文章站
2022-04-18 12:20:20
...
平时开发中经常会遇到抓取某个页面内容, 但是有时候某些页面需要登陆才能访问, 最常见的就是论坛, 这时候我们需要来使用curl模拟登陆。 大致思路:需要先请求提取 cookies 并保存,然后利用保存下来的这个cookies再次发送请求来获取页面内容,下面我们直接上代码
<?php /** * @Brief PHP读取Curl模拟登陆, 获取cookie, 带cookie进行请求 * @Date: 2016/7/2 * @Time: 9:41 */ //设置cookie保存位置 $cookieFile = dirname(__FILE__).'cookie.curl.tmp'; //第一步:获取cookie $url = 'http://www.pythontab.com'; $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 = 'http://www.pythontab.com'; //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);
推荐阅读
-
php模拟登陆抓取页面内容 curl使用方法
-
php 论坛采集程序 模拟登陆,抓取页面 实现代码
-
PHP中CURL技术模拟登陆抓取网站信息,用与微信公众平台成绩查询
-
PHP中CURL技术模拟登陆抓取网站信息,用与微信公众平台成绩查询
-
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发_PHP教程
-
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
-
php-【PHP求助】通过PHP Curl模拟浏览器远程抓取内容
-
【PHP】通过PHP Curl模拟登陆后抓取远程内容
-
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
-
php 论坛采集程序 模拟登陆,抓取页面 实现代码