亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Manual Pembangunan Pengumpul QueryList / Login 模擬登陸擴(kuò)展

Login 模擬登陸擴(kuò)展

Login 模擬登陸擴(kuò)展

Login擴(kuò)展,可以實現(xiàn)模擬登陸然后采集。

安裝:

composer require jaeger/querylist-ext-login

GIT地址:

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

依賴(通過Composer安裝的請忽略)

Login擴(kuò)展依賴Request擴(kuò)展,Request擴(kuò)展安裝教程:http://doc.querylist.cc/site/index/doc/21

用法

$login = QueryList::run('Login',[
    'target' => '登陸表單提交的目標(biāo)地址',
    'method' => 'post',
    //登陸表單需要提交的數(shù)據(jù)
    'params' => ['username'=>'admin','password'=>'admin'],
    'cookiePath' => 'cookie保存路徑'
    //更多參數(shù)查看Request擴(kuò)展
    ]);
//登陸成功后,就可以調(diào)用get和post兩個方法來抓取登陸后才能抓的頁面
$ql = $login->get('頁面地址'[,'處理頁面的回調(diào)函數(shù)','傳給回調(diào)的參數(shù)']);
$ql = $login->post('頁面地址','post提交的數(shù)據(jù)數(shù)組'[,'處理頁面的回調(diào)函數(shù)','傳給回調(diào)的參數(shù)']);
$data = $ql->setQuery(...)->data;

返回值為Login插件對象,這個對象的get和post兩個方法的返回值為設(shè)置好了html屬性的QueryList對象,然后應(yīng)該調(diào)用QueryList的setQuery方法設(shè)置采集規(guī)則。

//模擬登陸
$login = QueryList::run('Login',[
    'target' => 'http://xxx.com/login',
    'method' => 'post',
    'params' => ['username'=>'admin','password'=>'admin'],
    'cookiePath' => './cookie123.txt'
    ]);
$data = $login->post('http://xxx.com/admin',['key'=>'value'],function($content,$args){
//這里可以對頁面做一些格外的處理
//替換頁面的所有的yyy為xxx
$content = str_replace('yyy',$args,$content);
return $content;
},'xxx')->setQuery(['title'=>['h1','text']])->data;