私のpythonのバージョンは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>
私のPythonのコードは次のとおりです。
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>
だからそれが問題だ、表示なしの文字はありません!
他のウェブサイトで似たようなpythonコードを使って漢字を抽出しようとしましたが、クロールされた文字は正常に表示されます。彼らのどれもがこのように行動しなかった。
いくつかのエンコード方法を変更しましたが、うまくいかなかった。どうすればこの問題を解決できますか?ありがとう!