2017-03-02 13 views
0

私は、preタグでデータを含むHTMLファイルを持っています。私はプリタグのデータを1行ずつ解析し、各行のタイムスタンプに基づいてソートを行いたいと思います。どのようにすればいいのですか? BS4でpythonを使って行ごとにpreタグを解析する

<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'] 

、改行を含むHTMLコードはリストにそれを分割するsplitlines()を使用することができ、\nに変換されます。

+0

それは動作しますが、問題はファイルが実際に大きく、処理して表示するのに多くの時間がかかることです。より速い方法がありますか? – Rendevou

関連する問題