【问题标题】:how to get content of css selector using php simple dom parser?如何使用 php simple dom parser 获取 css 选择器的内容?
【发布时间】:2016-04-12 17:52:43
【问题描述】:

我需要解析的图像中的蓝色内容,即 29 英镑 - 117 英镑 我正在使用它来获取内容

$price=$con->find('div.event-availability p',0)->innertext;
echo"price";

因为 CSS 选择器 (::before) 存在于此处,无法解析此内容。 需要输出为“£29 - £117”

如何得到这个输出? 还有其他方法吗?

【问题讨论】:

  • 能贴出真实HTML页面的URL吗? Inspector 中的来源可以与原始来源不同。
  • 嗨,我已经检查了您要抓取的页面,但它不适用于 PHP 简单 dom。为什么?好吧,在页面上右击并查看源代码。你能找到那里的价格吗?没有。您需要为自己找到另一种类型的解析器,不过我不确定是哪一种。

标签: php html css-selectors simple-html-dom


【解决方案1】:

::before 甚至不会被解析器检测到,因为它是在页面呈现后应用的,并且不是 DOM 本身的一部分,所以这不是问题。

问题在于您没有直接定位包含价格的元素,而是定位到包含文本“100+票”的该元素的p父元素。

相反,您需要选择.price-range 元素:

$price=$con->find('div.event-availability p span.price-range',0)->innertext;

【讨论】:

  • 嗨 James Donnelly 我已经尝试过了,但它不起作用。
猜你喜欢
  • 2011-01-17
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
  • 2012-08-12
  • 2012-04-08
  • 1970-01-01
  • 2016-04-21
  • 1970-01-01
相关资源
最近更新 更多