0
닫을 필요가있는 태그와 그렇지 않은 태그를 혼합 한 SGML 파일이 있습니다. BeautifulSoup는 HTML에 대해 이것을 가장 잘 나타낼 수 있지만 태그는 custom이고 BeautifulSoup은 파일 끝 부분에서이를 닫습니다. 여기에 소스입니다 :BeautifulSoup에서 맞춤 태그의 속성을 정의하는 방법은 무엇입니까?
from bs4 import BeautifulSoup
import requests
url = 'https://www.sec.gov/Archives/edgar/data/1122304/000119312515118890/0001193125-15-118890.hdr.sgml'
sgml = requests.get(url).text
soup = BeautifulSoup(sgml, 'html5lib')
그리고 여기 file의 : FILER
와 COMPANY-DATA
닫는 태그가 필요하고 다른 사람이하지 않는
<SEC-HEADER>0001193125-15-118890.hdr.sgml : 20150403
<ACCEPTANCE-DATETIME>20150403143902
<ACCESSION-NUMBER>0001193125-15-118890
<TYPE>DEF 14A
<PUBLIC-DOCUMENT-COUNT>37
<PERIOD>20150515
<FILING-DATE>20150403
<DATE-OF-FILING-DATE-CHANGE>20150403
<EFFECTIVENESS-DATE>20150403
<FILER>
<COMPANY-DATA>
<CONFORMED-NAME>AETNA INC /PA/
<CIK>0001122304
<ASSIGNED-SIC>6324
<IRS-NUMBER>232229683
<STATE-OF-INCORPORATION>PA
<FISCAL-YEAR-END>1231
</COMPANY-DATA>
...
</SEC-HEADER>
.
줄 끝에있는 특정 태그를 닫으려면 BeautifulSoup의 파서에게 어떻게 알릴 수 있습니까? BS가 br
및 li
대 a
및 div
을 처리하는 방법과 관련이 있습니까?
BeautifulSoup은 형식이 잘못된 HTML/XML 인 에서 데이터를 파싱하고 추출하지만 깨진 HTML이 모호한 경우 규칙 집합을 사용하여 태그를 해석합니다. 이것은 당신이 원하지 않는 것입니다. BeautifulSoup 대신 파일을 구문 분석하기 위해 정규식을 사용하지 않는 이유는 무엇입니까? –
@ChristosPapoulas 커스텀 태그의 경우, BeautifulSoup는 생성자 ('BeautifulSoup()')에'selfClosingTags' 매개 변수를 가지고 있습니다. BeautifulSoup4에는 없습니다. 예 : http://stackoverflow.com/questions/14961497/how-to-get-beautifulsoup-4-to-respect-a-self-closing-tag를 참조하십시오. BS4는 "트리 빌더는 자기 닫는 태그를 이해할 책임이 있습니다"라고 말하면서 어떻게 설정합니까? –
http://stackoverflow.com/questions/12505419/parse-sgml-with-open-arbitrary-tags-in-python-3/12534420#12534420이 관심의 대상 일 수 있습니다. –