0

ARMY のために MOS のページをスクレイピングしようとしましたが、間違っているようです。

<?php
    $army = "http://www.goarmy.com/careers-and-jobs/browse-career-and-job-categories/administrative-support.AR-both.html";
$fp = file_get_contents($army);
$dom = new DOMDocument();
@$dom->loadHTML($fp);
$classes = $dom->getElementsByTagName("div");
foreach($classes as $class){        
    if($class->getAttribute("class") == "job-desc")continue;

    foreach($class->getElementsByTagName("a") as $c){
        echo $c;
    }
    break;
}
?>

私がしようとしていたことですが、私はそれを正しくすることができません。jQuery のようなセレクター ツールや、探していたものを処理するための XPATH のような方法があることを期待していました。

私は見つけようとしています:

$("div.job-desc > h4 > a").text();
$("div.job-desc > ul > li").text();

私はすべての支店の全国 MOS 辞書に取り組んでおり、近い将来、他の国にも拡大しています。

jquery のようなセレクターを xpath に変更できると考えていましたが、XPath は XML 用のものであり、必ずしも HTML ドキュメントではないようです。

4

1 に答える 1

0

これを使用する場合:

http://davidwalsh.name/php-notifications

そして次のようなことをします:

ダウンロードして include:simple_html_dom.php を実行:

$html = file_get_html($army);
foreach($html->find('div.job-desc > h4 > a') as $row){
   echo $row->innertext."\n";
}

それはあなたが望むことをします。

見栄えを良くするために、それぞれを新しい行に配置します...必要に応じて、$row->innertextを解析します。

于 2013-10-11T03:47:08.303 に答える