如何对从beautifulsoup中刮来的html中的列表元素进行排序?

2024-09-30 18:16:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图刮html数据,并已成功地找到了数据,我试图抓取。问题是我正在尝试废弃的是没有类或id的is li元素,以便从页面上的其他几个元素中找到它们,因此我从它的类中找到了它们所在的ul元素。所以我把ul和li元素保存到variable name record中,但是当我打印record.li.text时,我只得到了第一个li元素,还没有弄清楚如何得到ul中的其他li元素。感谢您的帮助

soup = BeautifulSoup(response.content, "html.parser")
record = soup.find("ul", class_="ClubhouseHeader__Record")
print(record)

有输出

<ul class="ClubhouseHeader__Record"><li>64-98</li><li>3rd in AL Cent</li></ul>

soup = BeautifulSoup(response.content, "html.parser")
record = soup.find("ul", class_="ClubhouseHeader__Record").li.text
print(record)

有输出

64-98

我希望输出是

64-98
3rd in AL Cent

感谢您的帮助


Tags: 数据textparser元素responsehtmllicontent
2条回答

您可以使用CSS selector一次性将所需的li元素作为目标:

for li in soup.select("ul.ClubhouseHeader__Record li"):
    print(li.get_text(strip=True))

你很接近。只需利用BeautifulSoup.find_all

r = [i.text for i in soup.find("ul", class_="ClubhouseHeader__Record").find_all('li')]

输出:

['64-98', '3rd in AL Cent']

相关问题 更多 >