Merhaba, burada bir duvara isabet ediyor gibi görünüyor, bu haritayı kazıyarak aktaran sunucu sayısını belirten basit bir betik oluşturmayı deniyorum. sayfa, ".row ark_srv1" sınıfıyla birlikte div'ları sayıyor ve bu sayının yankılanıyor.Kazıma sayfası daha sonra belirli bir sınıfın div sayısını sayar ve bu sayıyı yankılanır.
Sorun: Bir alternatif olarak
<?php
$html_string = file_get_contents('toparkservers.com/1/search/?term=Umassoura');
function getElementsByClassName($elements, $className) {
$matches = array();
foreach($elements as $element) {
if (!$element->hasAttribute('class')) {
continue;
}
$classes = preg_split('/\s+/', $element->getAttribute('class'));
if (! in_array($className, $classes)) {
continue;
}
$matches[] = $element;
}
return $matches;
}
$dom = new DOMDocument;
$dom->loadHTML($html_string);
$divs = getElementsByClassName($dom->getElementsByTagName('.row ark_srv1'), '.row ark_srv1');
$length = $divs->length;
echo count($divs);
?>
'$ dom-> getElementsByTagName ('. Satır ark_srv1 ')' - Bu ('. Satır ark_srv1') 'getElementsByClassName olmamalı' ? '.row' bir sınıf mıdır? div "Etiket Adı" olurdu? –