需要帮助抓取php


Need help on scraping 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[@class]'

这是获得所有有class的div,但我想跳过一些我不想要的div。我怎么做呢?

还有一个问题是我如何将$pk_row$pk_row2组合起来,因为$pk_row有名称,$pk_row2有价格。

我想要一个数组里面有这些值。name=>price=>

除非您指定要跳过哪些元素,否则我只能将您推荐到http://www.w3schools.com/xsl/xpath_syntax.asp,在那里您可以找到所需的内容。

Edit: '//div[not(@class="name-enlarged")]'

要组合两个数组,一个用于键,另一个用于值,您可以使用array_combine($arrKeys, $arrValues) (http://php.net/manual/en/function.array-combine.php)