2012-04-19 193 views
2

下面的代碼解析HTML,當&符號出現在數據中時,麻煩就會分裂。帶逗號的分割字符串也會拆分&符號

from HTMLParser import HTMLParser 

data = '<HTML><meta http-equiv="Pragma" content="no-cache"></head>'\ 
'<body>107,1,236,1000,70,498,NameA NameB & NameC - ActionA ActionB</body></html>' 

class MyHTMLParser(HTMLParser): 
     def handle_data(self, data): 
      print data.split(',') 

parser = MyHTMLParser() 
parser.feed(data) 

輸出
據分裂 '&',而不是隻有逗號。

['107', '1', '236', '1000', '70', '498', 'NameA NameB '] 
['&'] 
[' NameC - ActionA ActionB'] 

感謝

+2

它只在逗號分割。 HTML解析器雖然將「&」視爲單獨的標記。 – yak 2012-04-19 04:50:49

+2

孤立'&'在PCDATA部分無效。 – 2012-04-19 04:54:13

+0

非常感謝你們 – 2012-04-19 05:08:42

回答

1

嗯,我認爲這是要走的路,

data2 = data.replace('&', 'and') 
0

另一種解決方案,在<body>標籤讀取值,並使用data.split(',')使用Beautifulsoup或您選擇的任何庫解析。

相關問題