2011-10-04 4 views
5

HTML, 자바 스크립트를 프론트 엔드 언어 인 & 파이썬을 백엔드/서버 측으로 사용하는 웹 사이트 업데이터 (사람들은 웹 사이트의 모습이 아닌 내용 (텍스트)를 업데이트 할 수 있습니다)가 있습니다.HTML 파싱을위한 최상의 파이썬 모듈

내가 HTML을 업데이트하는 프론트 엔드에서 매우 어렵다는 것을 발견하고를 내가 ele.innerHTML 또는 $ (ELE) .html 중에서() 브라우저에 따라 변경된 HTML을 제공합니다 (에 의해 업데이트 된 HTML을 잡을 때 젠장 때문에 IE).

그래서 나는

당신은 HTML & 잡아 정보를 분석하는 가장 좋은 파이썬 모듈은 어떻게 생각하십니까 파이썬에, 즉 백엔드에서 내 HTML을 업데이트하기로 결정했습니다?

내 요구 사항은 다음과 같습니다
- I 클래스의있는 모든 HTML 요소를 찾는 HTML &를 분석 할 것이다 "갱신"
- 모듈이
파이썬 (때문에 내 웹 호스트의) 2.5 이하에서이어야하는 것이 - "갱신"클래스의 각 요소의 경우 : innerText와 (HTML이 아닌 텍스트 만/컨텐츠)의 압축을 당신이 제안 파이썬 모듈

이 가장 적합?
- HTMLParser.py
- htmllib.py
- 다른 파이썬 2.5 호환 모듈에 대해 알고 계십니까?

답변

5

저는 lxml (http://lxml.de/lxmlhtml.html)을 사용해 왔습니다. 보통 크기의 html 문서는 상대적으로 빠르며 BeautifulSoup 사용을 지원합니다. 내가 아는 한, BeautifulSoup는 더 이상 지원되지 않으므로 lxml을 사용했던 모든 새 프로젝트에 사용할 수 있습니다.

+4

Beautiful Soup이 2012 년 7 월 3 일부터 다시 활성화 된 것으로 보입니다. http://www.crummy.com/software/BeautifulSoup/ – jforberg

+0

참으로 멋진 소식입니다! – David

8

HTML 구문 분석을 위해 Beautiful Soup을 살펴 보시기 바랍니다. 그것은 꽤 강력하고 어수선한 마크 업을 다룰 수 있습니다.

http://www.crummy.com/software/BeautifulSoup/

확인이를하고 당신을 할 수 있는지! 희망한다.

+0

머리가 위로 올라감에 따라 BeautifulSoup은 더 이상 적극적으로 지원하지 않으며 핵심 의존성 SQMLParser는 Python3에서 사용되지 않습니다. http://www.crummy.com/software/BeautifulSoup/3.1-problems.html – David

+0

나쁘다, 그 사실을 알지 못했다. 나는이 경우 lxml 옵션을 올릴 것이다. – pcalcao

+0

BeautifulSoup은 여전히 ​​훌륭한 도구이므로 정말 불행합니다. – David