2011-02-18 2 views
0

내 파이썬 스크립트를 사용하여 페이지를 구문 분석하려고합니다. 그러나 <nobr> 태그와 함께 '&'은 문제가되고 있습니다. 여기 실제 HTML입니다. 파이썬 sgmllib <nobr> 태그 처리

<A HREF="http://enpass.in/algo/c12.html" CLASS="style"> <NOBR>Simulation for 1st & 2nd path</NOBR></A> 

지금 내 파서 내 handle_data 기능 (사용이나 sgmllib)가 제대로 데이터를 처리 할 수 ​​없습니다. 다음은 handle_data 코드입니다. 나는 datainfo 배열을 인쇄 할 때

def handle_data(self, data): 
     self.datainfo.append(data) 

내가, datainfo 배열은 하나, 즉 요소 "1 & 2 차 경로에 대한 시뮬레이션"그러나

이 될 것으로 기대, datainfo 배열의 실제 내용은 숫자 7입니다.

datainfo -> ['', '', 'Simulation for 1st', '&', '2nd path', '', ''] 

무슨 일입니까?

+0

Er,'urllib2'는 HTML 구문 분석을 전혀하지 않습니다. 너는 실제로 무엇을 사용하고 있는가? –

+0

호기심을 위해 : urllib2를 html 파서로 사용하고 있습니까? 방법? –

+0

사과! 나는 그 urllib2가 아니라, 그 sgmlib을 잊었다. – Neo

답변

0

유효한 HTML이 되려면 &amp;과 같이 앰퍼샌드를 인코딩해야합니다.

+0

왜 그 빈 문자가 오는 지 알고 싶습니까? – Neo

+0

각 요소에 하나 인 것처럼 보입니다. [ '', -, '', -> NOBR, '값', '', ->/NOBR, '', ->/A] – Bjorn

+0

호기심, 왜 sgmlib을 사용하고 있습니까? 2.6에서는 더 이상 사용되지 않으며 3.0에서는 제거되었습니다. 왜 당신은 BeautifulSoup 같은 것을 선택하지 않았습니까? 또는, 원하는 값 (Simulation ...)이라면 정규식을 사용하여 모든 HTML을 제거하지 않으시겠습니까? – Bjorn