Goutte / crawler正则表达式可以找到动态ID

时间:2017-01-22 22:59:08

标签: php web-scraping goutte

我试图刮掉一个热门乱七八糟的页面 - 我知道我需要三个ID,但是不同的项目都有相同的ID,即“名称”,“desc”,它们有一个随机(对我来说)的数字。因此,以下代码适用于一个特定项目,但不适用于任何其他项目有没有办法过滤使用正则表达式和Goutte来获得我需要的东西?

    $meta = $crawler->filter('#name_312 a')->each(function ($node) {
        return [
            'link' => $node->attr('href'),
        ];
    });

1 个答案:

答案 0 :(得分:0)

您应该使用css而不是正则表达式。

例如:

"[id*=name]" - 选择name中包含id的所有元素。

"[id*=name] a, [id*=desc] a" - 选择所有a元素,其中包含id的父级,其值中包含namedesc