2017-03-02 94 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