$ql?=?QueryList::getInstance();
//綁定一個(gè)myHttp方法到QueryList對象
$ql->bind('myHttp',function?($url){
????$html?=?file_get_contents($url);
????$this->setHtml($html);
????return?$this;
});
//然后就可以通過注冊的名字來調(diào)用
$data?=?$ql->myHttp('https://toutiao.io')->find('h3?a')->texts();
print_r($data->all());
或者把實(shí)現(xiàn)體封裝到class,然后這樣綁定:
$ql->bind('myHttp',function?($url){
????return?new?MyHttp($this,$url);
});
插件使用
使用CURL多線程插件,多線程采集排行榜:
$ql?=?QueryList::use(CurlMulti::class);
$ql->curlMulti([
????'https://github.com/trending/php',
????'https://github.com/trending/go',
????//.....more?urls
])
?//?每個(gè)任務(wù)成功完成調(diào)用此回調(diào)
?->success(function?(QueryList?$ql,CurlMulti?$curl,$r){
????echo?"Current?url:{$r['info']['url']}?\r\n";
????$data?=?$ql->find('h3?a')->texts();
????print_r($data->all());
})
?//?每個(gè)任務(wù)失敗回調(diào)
->error(function?($errorInfo,CurlMulti?$curl){
????echo?"Current?url:{$errorInfo['info']['url']}?\r\n";
????print_r($errorInfo['error']);
})
->start([
????//?最大并發(fā)數(shù)
????'maxThread'?=>?10,
????//?錯(cuò)誤重試次數(shù)
????'maxTry'?=>?3,
]);
更多詳細(xì)請查看:
讓你更好的學(xué)習(xí)php爬蟲php數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊php數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊,小編推薦一套視頻教程【+實(shí)戰(zhàn)開發(fā)】希望以后你們能用得著。
獲取地址:
課程目錄
課時(shí)1 實(shí)戰(zhàn)實(shí)錄 tp6開發(fā)PHP手冊統(tǒng)計(jì)項(xiàng)目 - 介紹09:29
課時(shí)2【實(shí)戰(zhàn)實(shí)錄】PHP手冊統(tǒng)計(jì)-項(xiàng)目分析09:45
課時(shí)3【實(shí)戰(zhàn)實(shí)錄】PHP手冊統(tǒng)計(jì)用采集08:56
課時(shí)4 PHP手冊統(tǒng)計(jì)獲取到了一個(gè)文件的所屬上級04:22
課時(shí)5 PHP手冊統(tǒng)計(jì)建立表對接15040個(gè)頁面10:01
課時(shí)6 PHP手冊統(tǒng)計(jì)完成15037個(gè)頁面名稱存入數(shù)據(jù)庫05:58
課時(shí)7 完成了除包含php字符的對應(yīng)目錄的入庫12:03
課時(shí)8 初步實(shí)現(xiàn)和了解了php手冊各欄目的頁面數(shù)量12:20
課時(shí)9 v1.0版上線源碼可以通過查看通過安裝06:25
課時(shí)10 入門php的cli命令行模式 即使獲得進(jìn)度13:14
課時(shí)11 正式進(jìn)入v2.0版本 cli模式作為主要運(yùn)行對象09:30
課時(shí)12 實(shí)現(xiàn)了一級目錄的數(shù)據(jù)量統(tǒng)計(jì)11:26
課時(shí)13 重寫了一個(gè)激動(dòng)人心的采集規(guī)則22:26
課時(shí)14 針對目錄不一致問題 增加字段統(tǒng)計(jì)比對05:16
課時(shí)15 應(yīng)用遞歸實(shí)現(xiàn)從文件獲取其完整目錄12:27
課時(shí)16 通過遞歸補(bǔ)齊沒有path的文件17:01
課時(shí)17 用遞歸排查完成總數(shù)不一致問題08:10
課時(shí)18 用遞歸完成了基本tree樹形分類14:49
課時(shí)19 完成前端tree樹形分類用zTree實(shí)現(xiàn)08:10
課時(shí)20 完成前端11個(gè)欄目的樹形分類11:41
課時(shí)21 第一版完可以預(yù)覽子目錄數(shù)量的目錄完成07:16
課時(shí)22 第一版完可以預(yù)覽子目錄數(shù)量的目錄完成07:16
課時(shí)23 完成第一套完整的統(tǒng)計(jì)帶統(tǒng)計(jì)分析的php手冊12:50
課時(shí)24 統(tǒng)計(jì)結(jié)果html上線gitee直接瀏覽07:26
課時(shí)25 PHP手冊統(tǒng)計(jì)項(xiàng)目 - 總結(jié)
文章來自:
END