如何使用 find 或 find_all 而不是 select 浏览元素?

Posted

技术标签:

【中文标题】如何使用 find 或 find_all 而不是 select 浏览元素?【英文标题】:How to navigate through elements using find or find_all instead of select? 【发布时间】:2022-01-08 12:43:46 【问题描述】:

据我所知,您可以使用 select 方法浏览页面元素,例如:

text = soup.select('.css-lw5dil > .css-1p6sxhz')

find 方法有什么办法吗?

【问题讨论】:

【参考方案1】:

select_one 等于 find 并且 select 等于 find_all or findAll select_one /find 用于单个元素,select/find_all 用于list 是的,您可以导航,但在这种情况下,css 选择器的定位器更加灵活。

text = soup.select('.css-lw5dil > .css-1p6sxhz')

使用汤定位器如下:

text = soup.find('tag name',class_="css-lw5dil").find_all('tag name',class_= "css-1p6sxhz")

现在您可以像 css 选择器一样对其进行迭代,如下所示:

for i in text:
    do something new

【讨论】:

以上是关于如何使用 find 或 find_all 而不是 select 浏览元素?的主要内容,如果未能解决你的问题,请参考以下文章

将 BeautifulSoup 4 的 `find_all` 与正则表达式一起使用时,如何访问正则表达式匹配捕获组?

Kohana ORM count_all() 工作但 find_all() 不是

Beautiful Soup中的find,find_all

Python爬虫编程思想(56):Beautiful Soup方法选择器之find方法

为啥在搜索文本是不是包含字符串时,beautifoulsount find_all 缺少此元素?

Beautifulsoup 过滤“find_all”结果,通过正则表达式限制为 .jpeg 文件