파이썬 버전은 3.6.3입니다. 내 OS는 WIN7입니다. 지금은 아래 웹 사이트에서 한자를 추출하고 있어요 : https://crl.ptopenlab.com:8800/poem/show?3&%25E5%258F%2591%25E7%2594%259F&A718FCB2-CE47-4649-BB46-0E09B169FD59Windows OS에서 python3.x로 Beutifulsoup4를 가져올 수없는 한자
내가 추출물 싶어 요소를 아래의 HTML 코드에 포함 된 문자는 다음과 같습니다
<div id="poemcontent" style="top: 82.4px;">
<div id="title">发生</div>
<div class="poembody">发情犹是梦</div>
<div class="poembody">生意未能行</div>
<div class="poembody">独坐青山下</div>
<div class="poembody">还看白日明</div>
</div>
내 파이썬 코드
은 다음과 같습니다import urllib.request
res=urllib.request.urlopen("https://crl.ptopenlab.com:8800/poem/show?3&%25E5%258F%2591%25E7%2594%259F&A718FCB2-CE47-4649-BB46-0E09B169FD59").read()
from bs4 import BeautifulSoup
soup = BeautifulSoup(res,from_encoding="RTF-8")
body=soup.body
print(body.div.next_sibling.next_sibling.next_sibling.next_sibling.next_sibling.next_sibling.contents)
이 코드는 실제로 독점적으로 중국어 문자를 추출하지 않습니다. 한자가 제대로 표시되는지 확인하고 싶습니다. 불행하게도, 그 결과는 내가 기대했던 것이 아니다 : 나는이 목록의 첫 번째 항목을 추출 할 경우
['\n', <div id="title"></div>, '\n', <div class="poembody"></div>, '\n', <div class="poembody"></div>, '\n', <div class="poembody"></div>, '\n', <div class="poembody"><img height="100px" src="static/images/write.gif" width="100px"/></div>, '\n']
, 그것은 같이 표시
<div id="title"></div>
그래서 그 문제의 표시에는 문자가 없습니다!
비슷한 파이썬 코드를 사용하여 다른 웹 사이트에서 중국어 문자를 추출하려고 시도했는데, 크롤링 한 문자를 정상적으로 표시 할 수 있습니다. 그들 중 누구도 이처럼 행동하지 않았습니다.
몇 가지 인코딩 방법이 변경되었지만 작동하지 않았습니다. 이 문제를 어떻게 해결할 수 있습니까? 감사!