텍스트로 변환 할 html 파일이 있습니다. BeautifulSoup을 가지고 놀았으며 지시 사항을 사용하는 방법을 이해하고 html을 제출하고 텍스트를 가져올 수 있습니다.문서 분석에 기반한 텍스트로 변환하기 전에 BeautifulSoup에서 문서를 분할 할 수 있습니까?
그러나 내 파일에는 테이블 구조를 사용하여 서식이 지정된 많은 텍스트가 있습니다. 예를 들어 나는 테이블의 신체 내에서 데이터를 가지고있는 '고전적인 테이블'가 테이블 태그
<table>
<td> here is some really useful information and there might be other markup tags but
this information is really textual in my eyes-I want to preserve it
</td>
</table>
그리고 세트 내에서 TD 태그에있는 텍스트의 단락이있을 수 있습니다.
알고리즘을 테이블에 적용하고 문서를 텍스트로 변환하기 전에 표가 추출되었는지 여부를 결정하는 몇 가지 규칙을 설정하고 싶습니다.
나는 각 테이블에 COLS의 수를 얻기 위해, 예를 들어 내 테이블 -의 특성을 얻는 방법을 알아 낸 :
numbCols=[]
for table in soup.findAll('table'):
rows=[]
for row in table.findAll('tr'):
columns=0
for column in row.findAll('td'):
columns+=1
rows.append(columns)
numbCols.append(rows)
그래서 난 numbCols에서 작동하고 각 항목의 렌을 사용할 수 있습니다 목록의 각 항목에있는 값 및 목록을 사용하여 테이블의 특성을 분석하고 유지하거나 삭제하려는 항목을 식별합니다.
나는 BeautifulSoup에서이 정보를 사용하여 텍스트를 얻는 우아한 방법을보고 있지 않습니다. 내가 얻으려고하는 것은 numbCols를 분석하여 표 2, 4, 6, & 9. 제외 할 특정 문서의 10 개의 표를 결정한다고 가정 할 때입니다. 따라서 HTML 문서의 일부에는 테이블. 그런 식으로 스프를 분류 할 수 있습니까?
필자가 알아 낸 해결책은 finditer를 사용하여 스팬을 가져온 다음 열린 태그와 닫는 테이블 태그 각각의 위치를 식별 한 다음 numbCols로 범위를 압축하는 것입니다. 그런 다음이 목록을 사용하여 내 문자열 조각을 함께 잘라내어 결합 할 수 있습니다. 이 작업이 끝나면 BeautifulSoup을 사용하여 html을 텍스트로 변환 할 수 있습니다.
나는 BeautifulSoup에서이 모든 작업을 수행 할 수 있어야한다고 확신합니다. 기존 예제에 대한 제안이나 링크는 훌륭합니다. 내 소스 파일이 커질 수 있으며 수천 개를 처리해야한다고 언급해야합니다.
는 대답을하지 않았다 그러나 나는 내가 열 길이 행을 가지고있는 모든 테이블을 삭제하려는 순진 경우에 가정이 물건 을 사랑 가까이