Php 获取纯HTML/标签

Php 获取纯HTML/标签,php,get,guzzle,simple-html-dom,guzzlehttp,Php,Get,Guzzle,Simple Html Dom,Guzzlehttp,我有一个cronjob,我想周期性地检查我的一个站点中的某个标记/类-使用guzzlehttp池。到目前为止,我有以下代码: $oClient = new Client(['expect' => false]); foreach ($aDomains as $iDomainKey => $oDomain) { array_push($aCreatedRequests, new Request('G

我有一个cronjob,我想周期性地检查我的一个站点中的某个标记/类-使用guzzlehttp池。到目前为止,我有以下代码:

    $oClient             = new Client(['expect' => false]);

    foreach ($aDomains as $iDomainKey => $oDomain) 
    {          
        array_push($aCreatedRequests, new Request('GET', $oDomain));
    }

    $pool = new Pool($oClient, $aCreatedRequests, 
    [
        'concurrency' => 50,
        'options' => ['timeout' => 10],
        'fulfilled'   => function ($response, $index) use (&$aAcceptedResponse) 
        {               
            $json = json_decode((string)$response->getBody()->getContents());
            
        },
        'rejected'    => function ($reason, $index) use(&$aRejectedResponses)  
        {
            $aRejectedResponses[] = $index;
        },
    ]);

    $promise = $pool->promise();
    $promise->wait();
这确实给了我HTML(但速度非常慢),而且它似乎只是在循环中,还下载了我网站上所有的狗屎库/框架——如上所述,我只需要HTML,所以我可以使用简单的HTML\U dom来查找我的标记/类。
我已经阅读了一些guzzle文档(这让我达到了这一点)-但我似乎无法进一步-我的谷歌忍者技能也不能让我进一步。
所以我在这里问;他们有什么合适的方法可以让我这样做吗?

因此,在经过了相当长的时间后,我试图解决这个问题——我偶然发现了一些有效的方法

$oClient             = new Client(['expect' => false]);
$aAcceptedResponse   = [];
$aRejectedResponses  = []; 
foreach ($aDomains as $iDomainKey => $oDomain) 
{          
    array_push($aCreatedRequests, new Request('GET', $oDomain));
}

$pool = new Pool($oClient, $aCreatedRequests, 
[
    'concurrency' => 50,
    'options' => ['timeout' => 10],
    'fulfilled'   => function ($response, $index) use (&$aAcceptedResponse) 
    {               
        $aAcceptedResponse[$index] = $response->getBody()->getContents();
        // $json = json_decode((string)$response->getBody()->getContents());
        
    },
    'rejected'    => function ($reason, $index) use(&$aRejectedResponses)  
    {
        $aRejectedResponses[] = $index;
    },
]);

$promise = $pool->promise();
$promise->wait();

foreach($aAcceptedResponse as $iTest => $sHTLM)
{
    $simpleHTMLDom = str_get_html($sHTLM);
    echo '<pre>';
    print_r(count($simpleHTMLDom->find('.td-icon-star')));
    echo '</pre>';
} 
$oClient=新客户端(['expect'=>false]);
$aaAcceptedResponse=[];
$aRejectedResponses=[];
foreach($aDomains作为$iDomainKey=>$oDomain)
{          
数组_push($aCreatedRequests,newrequest('GET',$oDomain));
}
$pool=新池($oClient,$aCreatedRequests,
[
“并发性”=>50,
'选项'=>['超时'=>10],
“已完成”=>函数($response,$index)使用(&$aAcceptedResponse)
{               
$aAcceptedResponse[$index]=$response->getBody()->getContents();
//$json=json_解码((字符串)$response->getBody()->getContents());
},
“拒绝”=>函数($reason,$index)使用(&$aRejectedResponses)
{
$aRejectedResponses[]=$index;
},
]);
$PROMITE=$pool->PROMITE();
$promise->wait();
foreach($AAAcceptedResponse as$iTest=>$sHTLM)
{
$simpleHTMLDom=str\u get\u html($sHTLM);
回声';
打印(计数($simpleHTMLDom->find('.td图标星'));
回声';
}