python - <span> 内没有类的 BS4 文本

标签 python web-scraping beautifulsoup

我正在尝试使用这个 python 代码在 span 标签中抓取这个 4.1 评级,但它返回的是空的。

for item in soup.select("._9uwBC wY0my"):
        n = soup.find("span").text()
        print(n)
---------------------------------------

<div class="_9uwBC wY0my">
      <span class="icon-star _537e4"></span>
      <span>4.1</span>
</div>

最佳答案

@Aditya,我认为 soup.find("span") 只会返回第一个“span”,而您想要第二个中的文本。 我会尝试:

for item in soup.select("div._9uwBC.wY0my"):
    spans = item.find_all("span")
    for span in spans:
        n = span.text
        if n != '':
            print(n)

它应该在您指定的下方打印非空 span 标签的文本。 是否实现了您想要的?

关于python - <span> 内没有类的 BS4 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70720483/

相关文章:

python键值对

python - Pandas 按多列分组时组合键

selenium - 使用 Phantomjs/Selenium(来自 R)进行网页抓取,设置元素值

python - 如何在多维数组中添加元素

python - 打印时显示日语字符,但保存到 csv 时不显示

python - beautifulSoup中attrMap和attrs的区别

python - 如何获取收集的测试数量?

python csv 两列同名

asp.net - 网页抓取一个棘手的 asp.net 页面

python - 获取元素的最小 XPath