[PYTHON] 아름다운 스프 결과에 누락 된 부분
PYTHON아름다운 스프 결과에 누락 된 부분
다음 html 코드에서
태그를 검색하려고합니다. 여기에 그것의 일부만있다.
<td class="eelantext">
<a class="fBlackLink"></a>
<center></center>
<span> … </span><br></br>
<table width="402" vspace="5" cellspacing="0" cellpadding="3"
border="0" bgcolor="#ffffff" align="Left">
<tbody> … </tbody></table>
<!--edstart-->
<p> … </p>
<p> … </p>
<p> … </p>
<p> … </p>
<p> … </p>
</td>
여기에서 웹 페이지를 찾을 수 있습니다.
내 파이썬 코드는 다음과 같다.
soup = BeautifulSoup(page)
div = soup.find('td', attrs={'class': 'eelantext'})
print div
text = div.find_all('p')
그러나 텍스트 변수는 비어 있으며 div 변수를 출력하면
태그를 제외하고 위와 똑같은 html을가집니다.
해결법
-
==============================
1.BeautifulSoup는 다른 파서를 사용하여 HTML 입력을 처리 할 수 있습니다. 여기에 입력 한 HTML은 약간 손상되어 있으며 기본 HTMLParser 파서는이를 잘 처리하지 못합니다.
BeautifulSoup는 다른 파서를 사용하여 HTML 입력을 처리 할 수 있습니다. 여기에 입력 한 HTML은 약간 손상되어 있으며 기본 HTMLParser 파서는이를 잘 처리하지 못합니다.
대신 html5lib 파서를 사용하십시오.
>>> len(BeautifulSoup(r.text, 'html').find('td', attrs={'class': 'eelantext'}).find_all('p')) 0 >>> len(BeautifulSoup(r.text, 'lxml').find('td', attrs={'class': 'eelantext'}).find_all('p')) 0 >>> len(BeautifulSoup(r.text, 'html5lib').find('td', attrs={'class': 'eelantext'}).find_all('p')) 22
from https://stackoverflow.com/questions/18614305/missing-parts-on-beautiful-soup-results by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Matplotlib python show ()가 즉시 반환됩니다. (0) | 2018.11.28 |
---|---|
[PYTHON] 어떻게하면 / proc / net / dev의 출력을 파이썬을 사용하여 인터페이스 당 key : value 쌍으로 파싱 할 수 있습니까? (0) | 2018.11.28 |
[PYTHON] 도메인이 DNSSEC로 보호되어 있는지 프로그래밍 방식으로 확인 (0) | 2018.11.28 |
[PYTHON] 복제로 데이터 정규화 (0) | 2018.11.28 |
[PYTHON] 파이썬에서 하프 톤 이미지 (0) | 2018.11.28 |