【问题标题】:How to get the ID of an element with class name with BS4如何使用 BS4 获取具有类名的元素的 ID
【发布时间】:2022-12-03 03:01:47
【问题描述】:

我有一个站点,其中有多个 li 元素,我需要它们的 ID,但我只有类名。我还需要将 ID 放入列表中

的HTML:

<ul class="price-list">
   <li class="price-box" id="200"></li>
   <li class="price-box" id="300"></li>
   <li  class="price-box" id="400"></li>
</ul>

我尝试了以下但无济于事

list = []
div = soup.find("ul", {"class": "price-list"})
    for size in div:
        id = soup.find_all("li", {"class": "price-box"})['id']
        list.append(id)

【问题讨论】:

    标签: python beautifulsoup python-requests


    【解决方案1】:

    要获取类名为 price-boxli 元素的 ID,您可以使用 BeautifulSoup 中的 find_all 方法来查找具有该类的所有元素,然后使用列表理解从这些元素中提取 ID。

    这是一个例子:

    from bs4 import BeautifulSoup
    
    html = """
    <ul class="price-list">
       <li class="price-box" id="200"></li>
       <li class="price-box" id="70000"></li>
       <li  class="price-box" id="400"></li>
    </ul>
    """
    
    soup = BeautifulSoup(html, 'html.parser')
    
    # Find all elements with class name "price-box"
    price_boxes = soup.find_all("li", {"class": "price-box"})
    
    # Use a list comprehension to extract the "id" attribute from each element
    ids = [price_box['id'] for price_box in price_boxes]
    
    print(ids)  # prints ["200", "300", "400"]
    

    希望这可以帮助!

    【讨论】:

      【解决方案2】:
      import requests
      import bs4
      
      result = requests.get("url")
      soup = bs4.BeautifulSoup(result.text,"html.parser")
      class_name = "the class name"
      divs = soup.find_all("div", {'class':class_name})
      # this will give you a list of divs with the class name
      # if you want to find the first div the soup find or you are looking for a unique class name
      div = soup.find("div", {"class": class_name})
      # also you can do it like this
      div = soup.find("div", class_= class_name)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-23
        • 1970-01-01
        • 2015-07-04
        • 2020-04-30
        • 2011-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多