php爬虫----安装使用QueryList 带header发送cookie模拟请求数据、模拟登陆和爬取 猫眼电影 top100

本文介绍了一款基于phpQuery的PHP爬虫工具——QueryList,该工具采用与jQuery一致的DOM操作API,并具备强大的内容过滤功能。文章通过实例演示了如何使用QueryList采集猫眼电影榜单数据。

**
QueryList是一套简洁、优雅的PHP采集工具(爬虫),基于phpQuery。
试过挺多个爬虫框架的,都是很麻烦,使用各种正则看着头都疼,而QueryList 拥有与jQuery完全相同的DOM操作API,和拥有强大的内容过滤功能,可使用jQuey选择器来过滤内容,省去正则过滤的麻烦,强大的功能可以爬取你想要的东西。

使用QueryList 4.0 环境要求

PHP >= 7.0

安装使用这里就不细说,参考文档:

官方文档:http://www.querylist.cc/docs/guide/v4/installation

具体的代码实现如下:

   <?php
namespace app\index\controller;

use QL\QueryList;

class Index
{
    public function maoyan($num=0){
        $url='https://maoyan.com/board/4?offset='.$num*10;
        $data = QueryList::get($url) // 设置采集规则
         ->rules([
             'src'=>array('.board-wrapper img.board-img','data-src'),
            'board'=>array('.board-index','text'),
            'name'=>array('.name','text'),
            'star'=>array('.star','text'),
            'releasetime'=>array('.releasetime','text'),
            'score'=>array('.score','text')
        ])
            ->query()
            ->getData();
        print_r($data->all());
        echo "<br><br>";
        $num++;
        if($num<10) $this->maoyan($num);
    }
}

结果如下 :
在这里插入图片描述

带cookie的请求获取api数据

 $ql = QueryList::getInstance();
            $response = $ql::post('https://szwego.com/service/album/get_album_themes_list.jsp',
                [],[
                    'headers' => [
                        'Cookie'    => 'UM_distinctid=16c9998483d18-050beea9614ac4-14367940-1fa400-16c9998483e42; token=Mzk4MDk3Q0E5RTZCN0I1MkYwMTYwNDlCQUNFNkQ5QzVFOEZCOTI1OEEwOTA2MDc0QzUzRTVCNDVDMTg1RTgzRTZBNTY1MTZDQTNFNDFCRkI2ODZGRTgxRjQxRDU3MEZD; JSESSIONID=D46383AB94D4386A81FBB5C584FDF86B; CNZZDATA1275056938=981433315-1566953717-%7C1566953717'
                    ]
                ]);
            $result= $response->getHtml();  //这个$result 就是api返回的数据  接下来就可以对数据进行操作

这只是一个简单的domo,都是亲测可以用的,具体更多功能见文档拓展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值