【问题标题】:How to select all elements based on alternative attributes? [BeautifulSoup]如何根据替代属性选择所有元素? [美汤]
【发布时间】:2021-03-11 21:33:01
【问题描述】:

如果类名在列表中,我必须选择所有具有类属性的 html-tags 具有指定值的样式属性。

我试图一步一步解决我的问题,我得到了这个:

selected_by_class = soup.find_all(class_=['basic_class', 'other_class'])
selected_by_style = soup.find_all(style='text-align:left')

如您所见,我分两步获取所有数据,但是序列丢失了,因为我做了两个独立的find_all() 请求。

如何同时使用一个find_all()

【问题讨论】:

    标签: python-3.x python-2.7 parsing web-scraping beautifulsoup


    【解决方案1】:

    尝试使用 CSS 选择器。要使用多个选择器,请用逗号分隔它们 ,

    要对类名使用 CSS 选择器,请使用:.<classname>

    要为样式使用 CSS 选择器,您可以使用 [attribute="value"] 选择器。

    所以在你的例子中:

    [..]
    
    # Using multiple CSS Selectors - separated by a comma.
    print(soup.select('.class1, .class2, [style="text-align:left"]'))
    

    【讨论】:

      猜你喜欢
      • 2018-02-21
      • 2021-05-03
      • 2010-09-18
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 2019-11-14
      • 2012-02-13
      相关资源
      最近更新 更多