2013-04-02 3 views
1

많은 웹 사이트를 성공적으로 구문 분석하기 위해 Beautiful Soup을 사용하고 있지만 몇 가지 문제가 있습니다. 예는이 페이지입니다 : 우리는 아름다운 수프에 정확한 소스를 공급하고아름다운 soup가이 HTML을 구문 분석하지 못했습니다

http://www.designsponge.com/2013/04/biz-ladies-how-to-use-networking-to-improve-your-search-engine-rankings.html

만은 발육 HTML 문자열을 반환 오류없이하지만 ...

코드 :

soup = BeautifulSoup(site_html) 
print str(soup.html) 

결과 :

<html class="no-js" lang="en"> <!--&lt;![endif]--> </html> 

나는 무엇이 그것을 넘어 뜨리는지를 결정하려고 노력하고있다. 그러나 html 소스를 보면서 나를 뛰어 넘는 것은 아무것도 없다. 누구나 통찰력을 가지고 있습니까?

답변

4

다른 파서를 시도 페이지는 html5lib 파서 잘 구문 분석 :

>>> soup = BeautifulSoup(r.content, 'html5') 
>>> len(soup.find_all('li')) 
97 

모든 파서는 깨진 HTML을 동일하게 처리 할 수 ​​있습니다.

+0

그러나 팁 - 덕분에 html5 파서는 "매우 느린"것으로 표시되어 아마 전환하지 않을 것입니다. – Yarin

+0

@Yarin : 그래도 깨진 HTML에는 최상의 선택입니다. 'lxml.html' 파서도 시도해보십시오. –

+0

나는 고맙습니다. – Yarin

관련 문제