<?php
include __DIR__ . '/vendor/autoload.php';//引入自動載入類
use Goutte\Client;//使用第三方採集庫
$client = new Client();
$links = [
'http://www.nipic.com/topic/show_27192_1.html',
'http://www.nipic.com/topic/show_27054_1.html',
'http://www.nipic.com/topic/show_27085_1.html',
];//要爬的三個分類下的圖片
$pids = [];//定義一個子程式的陣列
foreach ($links as $url) {
$pid = pcntl_fork();//fork 一個子程式
switch ($pid) {
case -1:
die("Fork failed\n");
case 0:
$id = posix_getpid();//得到子程式id
$pids[$id] = $id;//存入到子程式陣列id 中
$data = [];
$crawler = $client->request('GET', $url);
$crawler->filter('.search-works-thumb')->each(function($node) use ($client, $id, &$data) {
$url = $node->link()->getUri();
$crawler = $client->request('GET', $url);
$crawler->filter('#J_worksImg')->each(function($node) use ($id, &$data) {
$src = $node->image()->getUri();
$data[$id][] = $src;//存入訊息佇列 或者redis 都可以
//echo $src . PHP_EOL;
});
});
print_r($data);
exit;//結束子程式
break;
default:
sleep(2);
break;
}
}
while ( count($pids) ) {
if (($id = pcntl_wait($status, WUNTRACED)) > 0) {//主程式 阻塞等待子程式完成任務
unset($pids[$id]);
}
}
echo "Done\n";
畫江湖之 PHP 多程式開發 【多工採集圖片】
相關文章
- 畫江湖之 PHP 多程式開發 [多工採集圖片]PHP
- 畫江湖之 PHP 多程式開發 [建立一個新的程式]PHP
- 畫江湖之 PHP 多程式開發 【建立一個新的程式】PHP
- 畫江湖之 PHP 多程式開發 [實現守護程式化]PHP
- 畫江湖之 PHP 多程式開發 [監控子程式防止意外中斷]PHP
- 畫江湖之 PHP 多程式開發 【監控子程式防止意外中斷】PHP
- 畫江湖之 PHP 多程式開發 [程式中如何通訊 共享記憶體]PHP記憶體
- 畫江湖之 PHP 多程式開發 【程式中如何通訊 共享記憶體】PHP記憶體
- 畫江湖之 PHP 多程式開發 【通過訊號量控制併發量】PHP
- 畫江湖之 PHP 多程式開發 [透過訊號量控制併發量]PHP
- 畫江湖之 PHP 多執行緒開發 【執行緒安全 互斥鎖】PHP執行緒
- 畫江湖之 PHP 多執行緒開發 [執行緒安全 互斥鎖]PHP執行緒
- 畫江湖之 PHP 多程式開發 [透過訊號寫一個類似 nginx services 服務]PHPNginx
- 畫江湖之 PHP 多程式開發 【通過訊號寫一個類似 nginx services 服務】PHPNginx
- 畫江湖之 PHP 多執行緒開發 【建立一個新的執行緒】PHP執行緒
- 畫江湖之 PHP 多執行緒開發 [建立一個新的執行緒]PHP執行緒
- python多工抓取圖片Python
- 畫江湖之 PHP 多執行緒開發 【利用多執行緒 序列任務變並行處理 從而減少序列執行時間】PHP執行緒並行
- PHP多程式開發[快問快答系列]PHP
- .Net之Layui多圖片上傳UI
- 用雲開發Cloudbase,實現小程式多圖片內容安全監測Cloud
- 探索 PHP 多程式PHP
- PHP 多工協程處理PHP
- thinkphp3.2.3開發的娛樂圖片站,後臺帶圖片採集(PC+手機版)PHP
- 圖片的採集自動同步方案
- 多圖片formpost上傳ORM
- 多執行緒圖片執行緒
- PHP開發的優美圖片網PHP
- PHP開發者該知道的多程式消費佇列PHP佇列
- 多工處理方式之一:多程式
- DDGScreenShot —iOS 圖片處理--多圖片拼接 (swift)iOSSwift
- PHP開發常用程式碼集錦PHP
- 【GUI軟體開發】小紅書評論採集:自動採集1w多條,含二級評論!GUI
- PHP 採集程式中日常的引數PHP
- 輕鬆採集又拍相簿裡的大量圖片,自動批量採集
- php多程式管理器PHP
- 畫江湖之 Redis持久化Redis持久化
- 畫江湖之 docker 篇 【lnmp 下如何安裝 PHP 擴充套件】DockerLNMPPHP套件