php 爬虫 cookies,[ laravel爬虫实战--进阶篇 ] guzzle使用cookies实现模拟登录站点爬取网页内容 - Laravel学习网...
在我们使用爬虫的过程中,经常需要模拟登录后台,获取更多数据,我们怎么去模拟登录呢?其实就是在登录的时候记录住登录cookie,每次请求带上cookie,实现模拟登录。Guzzle可以使用cookies请求参数为你维护一个cookie会话,当发送一个请求时, cookies选项必须设置成GuzzleHttp\Cookie\CookieJarInterface的实例。$jar = new \Guzzl
在我们使用爬虫的过程中,经常需要模拟登录后台,获取更多数据,我们怎么去模拟登录呢?其实就是在登录的时候记录住登录cookie,每次请求带上cookie,实现模拟登录。
Guzzle可以使用cookies请求参数为你维护一个cookie会话,当发送一个请求时, cookies选项必须设置成GuzzleHttp\Cookie\CookieJarInterface的实例。
$jar = new \GuzzleHttp\Cookie\CookieJar;
$r = $client->request('GET', 'http://httpbin.org/cookies', [
'cookies' => $jar
]);
上面这种方法用起来不是很方便,推荐使用下面这种方法,我只需要定义一下,就不再管这个cookie这个问题了。
$client = new \GuzzleHttp\Client(['cookies' => true]);
$r = $client->request('GET', 'http://httpbin.org/cookies');
其实到这里今天的内容就结束了,是不是非常短(简洁)呢,接下来我们简单模拟登录;更加牛掰的,比如有验证码的,有token的,还有油算法的登录,我会在接下来的教程中去讲解,大家持续关注哦。
namespace App\Http\Controllers;
use GuzzleHttp\Client;
class TestController extends Controller
{
public function test()
{
$client = new Client(['cookies' => true]);
// 登录账号
$login = $client->request('POST','登录地址',['form_params' => ['usename' => '账号','password'=>'密码','remember'=>'false']]);
// 请求需要登录才能访问的页面
$response = $client->request('GET',"");
$data = $response->getBody();
echo $data;
}
}
原创文章,转载请注明 :[ laravel爬虫实战--进阶篇 ] guzzle使用cookies实现模拟登录站点爬取网页内容 - Laravel学习网
原文出处: https://phpartisan.cn/news/47.html
问题交流群 :168117787
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)