Web crawler 将的值带入?

Web crawler 将的值带入?,web-crawler,html-parsing,Web Crawler,Html Parsing,我正在寻找一种在php中爬行没有类或id,但在有类的内部的值的方法 以下是爬虫程序的html代码: <div class="myclass"> <a href="/to">value to crawl</a> </div> 下面是我失败的php代码行: preg_match_all('<div class=\"myclass\"><a>(.*)<\/a><\/div>', $myhtml,

我正在寻找一种在php中爬行没有类或id,但在有类的内部的值的方法

以下是爬虫程序的html代码:

<div class="myclass">
    <a href="/to">value to crawl</a>
</div>
下面是我失败的php代码行:

preg_match_all('<div class=\"myclass\"><a>(.*)<\/a><\/div>', $myhtml, $match);

感谢您的回复:

解析器将是更好的解决方案:

$html = '<div class="myclass">
    <a href="/to">value to crawl</a>
</div>';
$dom = new DOMDocument;
$dom->loadHTML($html);
$xpath = new DOMXpath($dom);
$a_s = $xpath->query('*/div[contains(@class, \'myclass\')]/a');
foreach($a_s as $a) {
    if(empty($a->getAttribute('class')) && empty($a->getAttribute('id'))) {
        echo $a->nodeValue;
    } else {
        echo 'not';
    }
}
但你的问题的答案是:

/<div class="myclass">\s*<a.*?>(.*?)<\/a>\s*<\/div>/

考虑使用xpath代替preg\u match:感谢您的回复。但是,此方法会显示一条错误消息,我无法进入案例。。。PHP警告:DOMDocument::loadHTML:在实体中重新定义的属性类,第54行的/Users/etc/index.PHP中的行:1593该实例中的HTML是什么?它是一个文本文件,是使用curl进行爬网的结果,并以此打开:$HTML=file_get_contents'file_of_webpage.txt';你能提供一个复制错误的HTML小样本吗?