当前位置:首页 > Windows程序 > 正文

NotImplementedError: Only the following pseudo

2024-03-31 Windows程序

soup=BeautifulSoup(html.text,lxml) #data=soup.select(‘body > div.main > div.ctr > div > div.newsmcont > p:nth-of-type(3) > img‘)
#data=soup.select(‘body > div.main > div.ctr > div > div.newsmcont > p > img‘)[2]
data=soup.select(body > div.main > div.ctr > div > div.newsmcont > p:nth-child(3) > img)
print(data)

当使用copy selector时,复制的是nth-child,而soup 似乎不支持nth-child,所以会报以下错误:

NotImplementedError: Only the following pseudo-classes are implemented: nth-of-type.

将nth-child 改为 nth-of-type 就可以了。

或者去掉nth-child,在后面加上[i-1],即[2]。

关于nth-child 和 nth-type,他们都是取父元素下的第n个元素,他们的区别可以通过下面这个例子了解一下:

<div> <ul> <p>zero</p> <li>one</li> <li>two</li> </ul> </div>

上面这个例子,,.demo li:nth-child(2)选择的是<li>one</li>节点,而.demo li:nth-of-type(2)则选择的是<li>two</li>节点。

NotImplementedError: Only the following pseudo-classes are implemented: nth-of-type.

标签:

原文地址:https://www.cnblogs.com/theDataDigger/p/10368926.html

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/47827.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494607访问次数
  • 建站天数
  • 友情链接