BeautifulSoup: How do I extract all the
  • s from a list of
      s that contains some nested
        s?
  • 后端 未结 3 574
    梦如初夏
    梦如初夏 2020-12-15 03:41

    My source code looks like:

    Header3 (Start here)

    • List items
    • Etc...
    相关标签:
    3条回答
    • 2020-12-15 04:25

      A list comprehension could work, too.

      lis = [li for ul in uls for li in ul.findAll('li')]
      
      0 讨论(0)
    • 2020-12-15 04:34

      .findAll() works for nested li elements:

      for ul in uls:
          for li in ul.findAll('li'):
              print(li)
      

      Output:

      <li>List items</li>
      <li>Etc...</li>
      <li>List items</li>
      <li>Nested list items</li>
      <li>Nested list items</li>
      <li>List items</li>
      
      0 讨论(0)
    • 2020-12-15 04:40
      import requests
      from bs4 import BeautifulSoup
      r = requests.get("https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_list_test")
      soup =   BeautifulSoup(r.content,"lxml")
      w3schollsList = soup.find_all('body')
      for w3scholl in w3schollsList:
          ulList = w3scholl.find_all('li')
          for li in ulList:
              print(li)
      

      Note: here is to get the "li" inside the div we made

      0 讨论(0)
    提交回复
    热议问题