gpt4 book ai didi

python - 使用 BeautifulSoup Python 从
  • 获取单个数据作为文本
  • 转载 作者:行者123 更新时间:2023-12-01 02:16:14 24 4
    gpt4 key购买 nike

    这是我想要从中获取数据的 HTML 文件的一部分。

    <ul class="listing-key-specs ">
    <li>2002 (02 reg)</li>
    <li>Hatchback</li>
    <li>115,000 miles</li>
    <li>Manual</li>
    <li>1.8L</li>
    <li>123 bhp</li>
    <li>Petrol</li>
    </ul>

    这就是我提取<ul>的方式从文档的其余部分

    soup = BeautifulSoup(page.content, 'html.parser')
    vehicle_details = soup.find_all('ul', class_='listing-key-specs')
    split_details = vehicle_details[2].get_text()
    print (split_details)

    从这行代码我得到这个输出

     2002 (02 reg)
    Hatchback
    115,000 miles
    Manual
    1.8L
    123 bhp
    Petrol

    但是,我想要做的是从输出中获取每一行并将其放入列表中,以便第一行将是第一个索引,依此类推。但是当我按换行符分割输出时,我得到这个输出

     split_details = split_details.split('\n')
    ['', '2002 (02 reg)', 'Hatchback', '115,000 miles', 'Manual', '1.8L', '123 bhp', 'Petrol', '']

    这不是我想要的。是否有我遗漏的东西,或者是否有其他方法可以将此字符串拆分为行?

    This is the website如果你好奇的话。

    最佳答案

    最好使用stripped_strings在这种情况下生成器。它保存标签及其后代中的所有字符串,删除空白字符。一个例子,

    html = '''<ul class="listing-key-specs ">
    <li>2002 (02 reg)</li>
    <li>Hatchback</li>
    <li>115,000 miles</li>
    <li>Manual</li>
    <li>1.8L</li>
    <li>123 bhp</li>
    <li>Petrol</li>
    </ul>'''

    soup = BeautifulSoup(html, 'html.parser')
    vehicle_details = soup.find('ul', class_='listing-key-specs')
    split_details = list(vehicle_details.stripped_strings)
    print(split_details)

    ['2002 (02 reg)', 'Hatchback', '115,000 miles', 'Manual', '1.8L', '123 bhp', 'Petrol']

    或者您可以使用 get_text - 通过 ', ' 进行剥离和连接 - 但它将返回一个字符串而不是列表。

    split_details = vehicle_details.get_text(', ', strip=True)
    print(split_details)

    2002 (02 reg), Hatchback, 115,000 miles, Manual, 1.8L, 123 bhp, Petrol

    关于python - 使用 BeautifulSoup Python 从 <li> 获取单个数据作为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48355713/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com