我想删除html标记,但保留标记之间的文本并将其保留在列表中。这是我的以下代码:
comment_list = comment_container.findAll("div", {"class" : "comment-date"})
print(comment_list)
输出为:
[<div class="comment-date">2018-9-11 03:58</div>,
<div class="comment-date">2018-4-4 17:10</div>,
<div class="comment-date">2018-4-26 01:06</div>,
<div class="comment-date">2018-7-19 13:48</div>,
<div class="comment-date">2018-4-12 11:39</div>,
<div class="comment-date">2019-3-14 21:12</div>,
<div class="comment-date">2019-3-4 15:43</div>,
<div class="comment-date">2019-3-12 13:20</div>,
<div class="comment-date">2019-3-10 22:32</div>,
<div class="comment-date">2019-3-8 15:22</div>]
所需的输出:
[2018-9-11 03:58, 2018-4-4 17:10, 2018-4-26 01:06,
2018-7-19 13:48, 2018-4-12 11:39, 2019-3-14 21:12,
2019-3-4 15:43, 2019-3-12 13:20, 2019-3-10 22:32, 2019-3-8 15:22]
我可以使用for循环分别提取文本。
for commentDate in comment_list:
comments = commentDate.text
print(comments)
我想使用日期进行比较(查找最早的日期),因此我认为将日期保存到列表中将是最可管理的。
答案 0 :(得分:2)
您可以使用以下列表理解功能将div
元素列表转换为日期列表,以获得所需的输出:
comment_list = comment_container.findAll("div", {"class" : "comment-date"})
comment_dates = [comment.text for comment in comment_list]
print(comment_dates)