구문 분석 등을 나열하고 코드 내에서 객체를 사용하기 쉽도록 표현하십시오. 파이썬에는 강력한 라이브러리가 있습니까?복잡한 HTML 내가 htmllib이나 등, BeautifulSoup로를 사용하여 이미 파이썬에서 태그 기반의 HTML 구문 분석의 알고</p> <p>그러나, 내가 읽기 HTML 테이블과 같은 복잡한 작업을 수행 할 수있는 강력한 엔진을 원하는 파이썬
4
A
답변
2
BeautifulSoup은 멋진 라이브러리이며 HTML을 구문 분석하여 손쉬운 방법으로 데이터를 매우 쉽게 파싱 할 수있는 좋은 방법을 제공합니다.
몇 가지 간단한 정규식을 사용하여 쉽게 수행 할 수 있습니다. 정규 표현식을 작성하여 특정 데이터 패턴을 검색하고 필요한 데이터를 추출 할 수 있습니다.
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&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입니다.
필자는 이러한 종류의 작업을 수행하는 표준 파이썬 라이브러리에 대해 들어 본 적이 없기 때문에 필요할 때마다 가장 쉽게 인터넷 검색을 할 수 있습니다. 누군가 당신이하려는 일을했을 가능성이 있습니다.
면책 조항 : 귀하의 응용 프로그램에 붙여 넣기 전에 온라인으로 찾은 모든 코드를 읽고 이해해야합니다! 누가/어디에서 왔는지 인용하는 것도 좋습니다!
저는 BeautifulSoup에 대해 알고 있습니다. 이미 언급했듯이 테이블, 목록 등을 탐지하고 해석하는 데 더 많은 논리를 구축하는 데 관심이 없습니다. 게시하기 전에 질문을 읽어보십시오. – demos
@demos : "X에 대해 알고, 그래서 X에 대해 말하지 마라"라고 대답하면 누군가가 "X는 당신이 원하는 것을 해낸다"라고 답하면 그것이 그 질문을 읽지 않았다는 것을 의미하지는 않습니다. 그것은 그들이 틀렸음을 의미 할 수도 있지만, 그것은 완전히 다른 문제입니다. 특히 사람들이 당신을 도우려고 노력할 때 사람들에게 의심의 이익을 주어야합니다. –