【发布时间】:2021-05-30 16:53:27
【问题描述】:
我对 Python 还很陌生,但我想我会尝试一些 HTML 解析。我已经到了我有一个条目列表的地步,但我不知道如何让它们成为我想要的。我的意见是
['<li><span class=\'typeno\'>1.</span><a href="#m3_ds_real_save_file">M3 DS Real Save File</a></li>', '<li><span class=\'typeno\'>2.</span><a href="#incomplete_mario_kart_wii_course">Incomplete Mario Kart Wii Course</a></li>', '<li><span class=\'typeno\'>3.</span><a href="#shared_library_link_file">Shared Library Link File</a></li>', '<li><span class=\'typeno\'>4.</span><a href="#hacha_split_archive_file">Hacha Split Archive File</a></li>']
我希望我的输出是
1. M3 DS Real Save File 2. Incomplete Mario Kart Wii Course 3. Shared Library Link File 4. Hacha Split Archive File
我的问题是我找不到一种方法来执行正则表达式或类似的方法来以我想要的方式影响 HTML,同时也单独影响列表中的每个项目。还应注意,这些条目会更改,因此我无法对更改进行硬编码。我该怎么做?蒂亚!
【问题讨论】:
-
我建议你查找
BeautifulSoup来做这种工作。 -
请显示您的代码,您可能不需要这里的正则表达式,使用
BeautifulSoup库从li项目中获取文本,同时对其进行迭代。 -
我们不应该添加“我也是”cmets,但您应该注意上述建议。 HTML 页面往往会随着时间的推移发生巨大变化,而正则表达式远没有足够灵活来处理变化。使用像
BeautifulSoup这样的 HTML 解析器。 -
@TimRoberts 在此之前我从未发现需要它,但它看起来对 HTML 解析非常有用。我也会检查一下我的其他代码,谢谢!
标签: python python-3.x regex list