2017-03-02 91 views
0

我有一个HTML文件,其中包含pre标签中的数据。我想分析pre标签中的数据一行一行,并根据每行中的时间戳执行排序。我可以如何使用python。使用python逐行解析预标签

<pre>**Date Time DataFeed** 
10/01/1994 10:00:00 Go_to_sleep 
....... 
.......</pre> 

回答

0
In [1]: import bs4 

In [2]: text = '''<pre>**Date Time DataFeed** 
    ...: 10/01/1994 10:00:00 Go_to_sleep 
    ...: 10/01/1994 10:00:00 Go_to_sleep 
    ...: 10/01/1994 10:00:00 Go_to_sleep 
    ...: 10/01/1994 10:00:00 Go_to_sleep</pre>''' 

In [3]: soup = bs4.BeautifulSoup(text, 'lxml') 

In [4]: soup.pre.get_text() 
Out[4]: '**Date Time DataFeed**\n10/01/1994 10:00:00 Go_to_sleep\n10/01/1994 10:00:00 Go_to_sleep\n10/01/1994 10:00:00 Go_to_sleep\n10/01/1994 10:00:00 Go_to_sleep' 
In [6]: soup.pre.get_text().splitlines() 
Out[6]: 
['**Date Time DataFeed**', 
'10/01/1994 10:00:00 Go_to_sleep', 
'10/01/1994 10:00:00 Go_to_sleep', 
'10/01/1994 10:00:00 Go_to_sleep', 
'10/01/1994 10:00:00 Go_to_sleep'] 

在BS4,与换行符的HTML代码转换为\n,您可以用splitlines()将其分割成列表。

+0

它的工作原理,但问题是,该文件是非常大的,它需要大量的时间来处理和显示。有没有更快的方法 – Rendevou