네트워크 운영 연장 요청



네트워크 운영 확장 요청

쿠키 전달, 원본 위조, 브라우저 위조 등 복잡한 네트워크 요청을 구현할 수 있는 확장 요청

설치:

composer require jaeger/querylist-ext-request

GIT 주소:

https://github.com/jae-jae/QueryList-Ext-Request.git

종속성(Composer를 통해 설치된 것은 무시하세요)

요청 확장은 Http 클래스에 따라 다르며 Git 주소는 https://github.com/jae-jae/입니다. Http.git< /code>Http类,Git地址为:https://github.com/jae-jae/Http.git

手动安装插件教程:http://doc.querylist.cc/site/index/doc/7

수동 설치 튜토리얼: http://doc.querylist.cc/site/index/doc/7

사용법 1

$ql = QueryList::run('Request',[
    'http' => [
        'target' => '采集的目标页面',
        'referrer' => '来源地址',
        'method' => '请求方式,GET、POST等',
        'params' => ['提交的参数'=>'参数值','key'=>'value'],
        //等等其它http相关参数,具体可查看Http类源码
    ],
    'callback' => function($html,$args){
        //处理html的回调方法
        return $html;
    },
    'args' => '传给回调函数的参数'
]);
$data = $ql->setQuery(...)->data;

사용법 2

$ql = QueryList::run('Request',[
    'target' => '采集的目标页面',
    'referrer' => '来源地址',
    'method' => '请求方式,GET、POST等',
    'params' => ['提交的参数'=>'参数值','key'=>'value'],
    //等等其它http相关参数,具体可查看Http类源码
]);
$data = $ql->setQuery(...)->data;

반환 값은 html 속성이 설정된 QueryList 객체이며, 수집 규칙을 설정하려면 QueryList의 setQuery 메서드를 호출해야 합니다.

🎜
//HTTP操作扩展
$urls = QueryList::run('Request',[
        'target' => 'http://cms.querylist.cc/news/list_2.html',
        'referrer'=>'http://cms.querylist.cc',
        'method' => 'GET',
        'params' => ['var1' => 'testvalue', 'var2' => 'somevalue'],
        'user_agent'=>'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0',
        'cookiePath' => './cookie.txt',
        'timeout' =>'30'
    ])->setQuery(['link' => ['h2>a','href','',function($content){
    //利用回调函数补全相对链接
    $baseUrl = 'http://cms.querylist.cc';
    return $baseUrl.$content;
}]],'.cate_list li')->getData(function($item){
    return $item['link'];
});