2016-04-12 10 views
2

PHPを設定/変更するのは大丈夫ですが、最初から書くのに堪能ではありません。シンプルなHTML DOMを使用してウェブサイトからのデータビュー値をスクラップ

基本的に私はフォーマットであるウェブサイトから少量のデータをこすりしたい:

<div class="PDPVariantOption" data-value="XYZ" data-variant="ClothingSize"> 

と、私はこれがあるだけでXYZビットを抽出するために

$html->load($result["body"]); 

    $rows = $html->find("div.PDPVariantOption"); 
    foreach ($rows as $row) 
    { 
     echo "\t" . $row . "\n"; 
    } 

を望みます私が使用しているコード(http://barebonescms.com/documentation/ultimate_web_scraper_toolkit/)と一緒に使用していますが、これはdivタグ内のすべてを抽出します - 私は恐れている私からの純粋推測の値を取得するためにgetAttributeと同様のgetAttributeを使用して様々なオプションを試してみました!)でも運はない - だれでも助けることができる?

事前に多くの感謝

ジョーイ

答えて

-1

OKこの作品私の完全なコードです:あなたの応答のための

$dom = new DOMDocument(); 
$html = '<div class="PDPVariantOption" data-value="XYZ" data-variant="ClothingSize"> 
<div class="PDPVariantOption" data-value="BHB" data-variant="ClothingSize"> 
<div class="differentName"> 
<div class="PDPVariantOption" data-value="567" data-variant="ClothingSize"> 
<div class="PDPVariantOption" data-value="123" data-variant="ClothingSize"> 
<div class="PDPVariantOption" data-value="rty" data-variant="ClothingSize">'; 

$dom->loadHTML($html); 

$finder = new DomXPath($dom); 
$result = $finder->query("//*[contains(@class, 'PDPVariantOption')]"); 

for ($i; $i < $result->length; $i++) { 
    $row = $result->item($i)->getAttribute('data-value'); 
    echo $row . "\n"; 
} 
+0

感謝を - 私は本当に申し訳ありませんが、私はこれを得ることができませんでした仕事 - 私のコードは今: $ html-> load($ result ["body"]); $ rows = $ html-> find( 'div [データ値]') - > {'データ値'}; foreach($行として$行) { エコー "\ t" $行。 "\ n"; } しかし、何も出力されませんか?事前に感謝 – Joey

+0

私の編集した答えを確認してください。これはgetAttributeを使う私のデモスクリプトです。これは簡単です。 –

+1

Benさん、ありがとうございました。本当にありがとうございます。これはうまくいきました。申し訳ありませんが、このような痛みはありますが、これをPDPVariantOptionクラスでdivに制限する方法はありますか?これは空白行を返しています(おそらくデータ値なしのdivなので) – Joey

関連する問題