我试图刮掉一个热门乱七八糟的页面 - 我知道我需要三个ID,但是不同的项目都有相同的ID,即“名称”,“desc”,它们有一个随机(对我来说)的数字。因此,以下代码适用于一个特定项目,但不适用于任何其他项目有没有办法过滤使用正则表达式和Goutte来获得我需要的东西?
$meta = $crawler->filter('#name_312 a')->each(function ($node) {
return [
'link' => $node->attr('href'),
];
});
答案 0 :(得分:0)
您应该使用css而不是正则表达式。
例如:
"[id*=name]"
- 选择name
中包含id
的所有元素。
"[id*=name] a, [id*=desc] a"
- 选择所有a
元素,其中包含id
的父级,其值中包含name
或desc
。