私はこのコードをウェブサイトからデータをスクレイプするために持っています。PHPを削る手助けが必要
<?php
$html = file_get_contents('http://www.alanum.com/search.aspx?kw=GTX%20980'); //get the html returned from the following url
$pk_doc = new DOMDocument();
libxml_use_internal_errors(TRUE); //disable libxml errors
if(!empty($html)){ //if any html is actually returned
$pokemon_doc->loadHTML($html);
libxml_clear_errors(); //remove errors for yucky html
$pk_xpath = new DOMXPath($pk_doc);
//get all the h2's with an id
$pk_row = $pk_xpath->query('//h4[@name="list-productname"]');
$pk_row2 = $pk_xpath->query('//div[@class="price"]');
if($pk_row->length > 0){
foreach($pk_row as $row){
echo $row->nodeValue . "<br/>";
}
}
if($pk_row2->length > 0){
foreach($pk_row2 as $row2){
echo $row2->nodeValue . "<br/>";
}
}
}
?>
は、私はこのクラスを持っているすべてのdivを取得している
'//div[@class]'
場合は、インスタンスのためのタグをスキップんどのようにこするウェブに新しいですが、私はdiv要素の一部を省略することをIほしくない。それ、どうやったら出来るの?
もう一つの質問は$pk_row
は名前があり、$pk_row2
が価格を持っているので、私は$pk_row
と$pk_row2
を組み合わせて行う方法です。
1つの配列にこれらの値を格納したいとします。 name=>
とprice=>
「// divの[クラス@ = "名前-拡大を使用することができます値のためのキーと他の1のために使用されているように、2つの配列を結合するために"] 'このdivをスキップしなければならない場合、それは' // div [@class!=" name-expanding "] 'になりますか? –
'// div [not(@ class = "name-expanding")]' – icaine