【问题标题】:BS4 find_all with tags in spaceBS4 find_all 与空间中的标签
【发布时间】:2018-08-31 14:48:04
【问题描述】:

bs4find_all 怎么用带空格的class标签?

container = containers[0]
product_container = container.find_all('div',{'class': 's-item-container'})
product_name = product_container.find_all('div', {'class': 'a-fixed-left-grid-col'})
print (product_name)

div 类标签是“a-fixed-left-grid-col a-col-right”,我如何传递find_all 函数?

【问题讨论】:

    标签: python python-3.x beautifulsoup tags


    【解决方案1】:

    如果你想要的标签格式为<tag class="classname1 classname2 ...">,你可以直接使用带空格的类名作为class的值。

    soup.find_all('tag', {'class': 'classname1 classname2 ...'})
    

    您还可以使用类列表:

    soup.find_all('tag', {'class': ['class1', 'class2']})
    

    但是,第二种方法会匹配以下类型的所有标签:

    • class="class1"
    • class="class2"
    • class="class1 class2"
    • class="class2 class1"(这个和上面一模一样)

    【讨论】:

      【解决方案2】:

      我现在使用 select 来定位具有多个标签的类

      container.select('div.a-fixed-left-grid-col.a-col-right')

      非常感谢您的帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-01-24
        • 1970-01-01
        • 2022-08-11
        • 1970-01-01
        • 2014-12-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多