Python BS4不支持的格式:属性选择器

时间:2015-05-22 16:25:08

标签: python css beautifulsoup

我开始使用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"

虽然它是针对该上下文特定解释的,但我无法将其应用于我的代码。

ValueError: Unsupported or invalid CSS selector: "unit-4" python

1 个答案:

答案 0 :(得分:1)

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

gD_12PB3被视为两个单独的CSS类。使用.为每个CSS类匹配多个类:

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

CSS选择器的说明以及contranst的其他变体:

  • .gD_12.PB3:读取" 选择同时包含gD_12PB3 "

    <的元素/ LI>
  • .gD_12 .PB3:读取&#34; 查找具有类gD_12的元素,然后选择具有类PB3的后代&#34;

  • .gD_12 PB3:读取&#34; 查找具有类gD_12的元素,然后使用选择器PB3 &#34;选择它的后代。 。 PB3是无效的CSS选择器,会触发Unsupported or invalid CSS selector错误。