首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么美丽的汤按类选择,返回空列表由find_all工作?

为什么美丽的汤按类选择,返回空列表由find_all工作?
EN

Stack Overflow用户
提问于 2021-01-03 00:06:06
回答 1查看 584关注 0票数 0

我正试图从有着漂亮汤的广告牌中分析出某一天最热门的100次热播。我试着按类名选择区段,但它不起作用。我试着按类使用find_all,它可以工作。为什么find_all只在这种情况下起作用?

代码语言:javascript
复制
from bs4 import BeautifulSoup
import requests

billboard_website = "https://www.billboard.com/charts/hot-100/2019-05-09"
response = requests.get(f"{billboard_website}")
soup = BeautifulSoup(response.text, "html.parser")


print(soup.select(".chart-element__information__song text--truncate color--primary")) # returns an empty list

print(soup.find_all(class_="chart-element__information__song text--truncate color--primary")) # returns the full list
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-03 03:04:38

正如在文档中所解释的那样,这两种方法都取决于您试图实现的目标。

从本质上说,find_all(class_="Class1 Class2")几乎等同于select(.Class1.Class2),唯一的区别是前者需要精确的字符串,而后者需要CSS选择器,但不关心order1。

假设您有以下元素<p class="A B">

find_all(class_="B A") 不匹配,但select(.B.A)匹配

如果将语法修改为soup.select(".chart-element__information__song.text--truncate.color--primary"),则应该返回相同的值。

1-还有其他的区别,例如对regex的支持,这在docs中得到了解释。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65545425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档