2010-07-02 3 views

답변

2

BeautifulSoup은 멋진 라이브러리이며 HTML을 구문 분석하여 손쉬운 방법으로 데이터를 매우 쉽게 파싱 할 수있는 좋은 방법을 제공합니다.

몇 가지 간단한 정규식을 사용하여 쉽게 수행 할 수 있습니다. 정규 표현식을 작성하여 특정 데이터 패턴을 검색하고 필요한 데이터를 추출 할 수 있습니다.

+0

저는 BeautifulSoup에 대해 알고 있습니다. 이미 언급했듯이 테이블, 목록 등을 탐지하고 해석하는 데 더 많은 논리를 구축하는 데 관심이 없습니다. 게시하기 전에 질문을 읽어보십시오. – demos

+6

@demos : "X에 대해 알고, 그래서 X에 대해 말하지 마라"라고 대답하면 누군가가 "X는 당신이 원하는 것을 해낸다"라고 답하면 그것이 그 질문을 읽지 않았다는 것을 의미하지는 않습니다. 그것은 그들이 틀렸음을 의미 할 수도 있지만, 그것은 완전히 다른 문제입니다. 특히 사람들이 당신을 도우려고 노력할 때 사람들에게 의심의 이익을 주어야합니다. –

2

강력한 HTML 프로세서가있는 lxml을 고려해보십시오. lxml에 의존하는 또 다른 보완적인 모듈이 있습니다. 바로 pyquery입니다.

PyQuery는 jQuery를 같은 문법을 가지고, 그래서 당신이 jQuery를 사용하는 경우 당신은 바로 점프 할 수 있습니다 여기에

는 aol.com에서 첫 번째 <ul> 아이템을 얻을 수있는 간단한 예입니다.

>>> from pyquery import PyQuery as pq 
>>> import urllib 
>>> data = urllib.urlopen('http://aol.com').read() 
>>> d = pq(data) 
>>> first_ul = d('ul:first') 
>>> first_ul 
[<ul#dhL2>] 
>>> print first_ul 
<ul id="dhL2"><li class="dhL1"><a accesskey="" href="https://new.aol.com/productsweb/?promocode=827693&amp;ncid=txtlnkuswebr00000074" name="om_dirbtn1" class="_o4-0" id="om_dirbtn1">Get Free Mail</a></li> 
      </ul> 
0

표준 HTML 파서는 이미 간단한 개체 (예 : iterables)를 제공하는 데있어 꽤 능숙합니다. 테이블의 2D 목록보다 복잡한 것을 생성하는 것은 페이지에 있던 데이터에 따라 달라질 수 있습니다. 말했다와

...

여기 파이썬 목록에 HTML 테이블을 변환하는 스크립트를 쓴 누군가에 의해 link to a blog post입니다. 실제 파일은 here입니다.

필자는 이러한 종류의 작업을 수행하는 표준 파이썬 라이브러리에 대해 들어 본 적이 없기 때문에 필요할 때마다 가장 쉽게 인터넷 검색을 할 수 있습니다. 누군가 당신이하려는 일을했을 가능성이 있습니다.

면책 조항 : 귀하의 응용 프로그램에 붙여 넣기 전에 온라인으로 찾은 모든 코드를 읽고 이해해야합니다! 누가/어디에서 왔는지 인용하는 것도 좋습니다!