Python BS4 不支持的格式:属性选择器中的白色 space

Python BS4 Unsupported format: White space in attribute selector

我开始在 Python 中使用 BeautifulSoup 进行网络抓取。

我正在尝试解析的网站

"http://www.moneycontrol.com/india/stockpricequote/computers-software/techmahindra/TM4"

我的代码如下

previous_close = content.select(".gD_12 PB3");

我在解释该行时出现以下错误

    previous_close = content.select(".gD_12 PB3");
  File "/usr/local/lib/python2.7/dist-packages/bs4/element.py", line 1313, in select
    'Unsupported or invalid CSS selector: "%s"' % token)
ValueError: Unsupported or invalid CSS selector: "PB3"

虽然针对该上下文进行了解释,但我无法将其应用到我的代码中。

如错误消息所示,您当前的 CSS selector 表达式无效。

gD_12PB3 被认为是两个独立的 CSS class。对每个 CSS class 使用 . 以匹配多个 classes :

previous_close = content.select(".gD_12.PB3");

对您的 CSS 的解释 select 或与其他一些变体一起转换:

  • .gD_12.PB3 :读取“select 元素同时具有 class gD_12PB3".

  • .gD_12 .PB3 :读取“找到具有 class gD_12 的元素,然后 select 它的后代具有 class PB3".

  • .gD_12 PB3 :读取“找到具有 class gD_12 的元素,然后 select 使用 select或PB3”。 PB3 无效 CSS select 或将触发 Unsupported or invalid CSS selector 错误。