首页 > 解决方案 > 抓取特定的一组

  • 嵌套在
  • 问题描述

    我正在尝试获取嵌套在 ul 中的特定 li 组。下面是我的起始代码。我要获取的数据位于https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Risikogebiete_neu.html。我突出显示了我想要获取的 li(s) 块。

    > import requests from bs4 import BeautifulSoup
    > # print(soup.prettify()) 
    > page = requests.get('https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Risikogebiete_neu.html').text
    > 
    > soup = BeautifulSoup(page, 'html.parser') 
    > uls = soup.find_all('ul',id=None) 
    > mine=[] 
    > for ul in uls:
    >     newsoup = BeautifulSoup(str(ul), 'html.parser')
    >     lis = newsoup.find_all('li',id=None)
    >     for li in lis:
    >         mine.append(li.text)
    >         print(li.text)
    

    在此处输入图像描述

    标签: pythonweb-scrapingbeautifulsoup

    解决方案


    一种方法是使用 Xpath。这允许您通过从顶层指定整个嵌套来选择文档中的特定元素。请注意,这是非常脆弱的,因为如果任何嵌套更改它都会中断。


    推荐阅读