로그인 시뮬레이션 로그인 확장 프로그램
로그인 시뮬레이션된 로그인 확장
로그인 확장 프로그램은 로그인을 시뮬레이션한 후 이를 수집할 수 있습니다.
설치:
composer require jaeger/querylist-ext-login
GIT 주소:
https://github.com/jae-jae/QueryList-Ext-Login.git
종속성(Composer를 통해 설치된 항목은 무시하세요.)
로그인 확장 종속성Request扩展
,Request扩展
설치 튜토리얼: 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;
이 개체의 get 및 post 메서드의 반환 값은 html 속성이 설정된 QueryList 개체입니다. 수집 규칙을 설정하려면 QueryList를 호출해야 합니다.
//模拟登陆 $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;