python - 使用Python&Beautiful Soup,我可以获得根据是否设置背景属性过滤的标签列表吗?

标签 python html-parsing beautifulsoup

我想从设置了背景属性的 html 文档中获取标签列表。

例如:

html="<div>
    <div></div>
    <table background=\"anything\">
    </table>
</div>"

soup = BeautifulSoup(html)
result = soup.findall(??)

在这种情况下,我希望表标 checkout 现在列表中。请注意,“任何东西”的值可以是......任何东西。理想情况下,我想根据正则表达式过滤背景属性的值。

我的问题是:我可以使用Beautiful Soup来获取根据背景属性的值是否设置进行过滤的列表吗?更好的是,我可以根据一步应用于属性的正则表达式进行过滤吗?

最佳答案

基于documentation :

def has_background_attribute(tag):
    return tag.has_key('background')

soup.find_all(has_background_attribute)

也可以解决您的第二个问题的更好替代方案是( documentation ):

soup.find_all(background = re.compile("your_regex"))

关于python - 使用Python&Beautiful Soup,我可以获得根据是否设置背景属性过滤的标签列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13257674/

相关文章:

python - 蒙戈 3.2 : ConnectionFailure not working

java - 在jsoup中提取td标签内的href值

javascript - 在 Parse.com Cloud Code 和 Stripe 中通过 JSON 进行解析

python - BeautifulSoup 查找所有出现的特定文本

python - 值错误: invalid literal for int() with base 10: '-'

python - pandas concat/更新 3 dfs

python - 模块导入时的 boost.python 代码

python - 如何使用 argparse 收集不带 -- 的单独命令行的参数?

php - 在php中解析html页面

python - BS4 抓取隐藏内容