ログインシミュレートされたログイン拡張機能
Login シミュレートされたログイン拡張機能
ログイン拡張機能は、ログインをシミュレートして収集することができます。
インストール:
composer require jaeger/querylist-ext-login
GIT アドレス:
https://github.com/jae-jae/QueryList-Ext-Login.git
依存関係 (Composer を通じてインストールされた依存関係は無視してください)
ログイン拡張機能は、リクエスト拡張機能
、リクエスト拡張機能
インストール チュートリアル: http://doc.querylist.cc/site/index/doc/21
# に依存します。 ##Usage$login = QueryList::run('Login',[
'target' => '登陆表单提交的目标地址',
'method' => 'post',
//登陆表单需要提交的数据
'params' => ['username'=>'admin','password'=>'admin'],
'cookiePath' => 'cookie保存路径'
//更多参数查看Request扩展
]);
//登陆成功后,就可以调用get和post两个方法来抓取登陆后才能抓的页面
$ql = $login->get('页面地址'[,'处理页面的回调函数','传给回调的参数']);
$ql = $login->post('页面地址','post提交的数据数组'[,'处理页面的回调函数','传给回调的参数']);
$data = $ql->setQuery(...)->data;
戻り値は Login プラグイン オブジェクトです。このオブジェクトの get メソッドと post メソッドの戻り値は、html 属性を持つ QueryList オブジェクトです。 QueryList の setQuery メソッドは、収集ルールを設定します。 //模拟登陆 $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;