我对python还不熟悉,我正试图在billboard热门100强排行榜上拔得头筹。我知道已经有一个图书馆了,但我正在练习(而且做得不一样)。我的问题是Billboard的歌曲列表与艺术家不匹配,因为选择艺术家的语法在“a”元素和“span”元素之间变化。如何包含这两种类型的元素,它们都包含[@class=“chart-row\uu artist”]
目前我有:
artists = [x.strip() for x in tree.xpath('//a[@class="chart-row__artist"]/text()')]
但这也拉起了歌曲的跨度:
artists = [x.strip() for x in tree.xpath('//span[@class="chart-row__artist"]/text()')]
它在页面上交替出现。有什么建议吗
使用xpath有必要吗?我很容易就得到了bs4所有艺术家的名单
我想XPath的语法是对的。似乎歌曲与艺术家匹配得很好,尽管艺术家的元素节点是交替的。我做到了:
前缀//*选择了整个文档,然后与类名匹配,因此它同时包含了“a”元素和“span”元素
相关问题 更多 >
编程相关推荐