删除美丽汤中的标签

时间:2019-03-15 05:50:45

标签: python web-scraping beautifulsoup web-crawler

我想删除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)

我想使用日期进行比较(查找最早的日期),因此我认为将日期保存到列表中将是最可管理的。

1 个答案:

答案 0 :(得分:2)

您可以使用以下列表理解功能将div元素列表转换为日期列表,以获得所需的输出:

comment_list = comment_container.findAll("div", {"class" : "comment-date"})
comment_dates = [comment.text for comment in comment_list]
print(comment_dates)