1

BeautifulSoup はオプション を指定した html ページの解析に失敗しますhtml5libが、オプション を指定すると正常に動作しますhtml.parserdocsによると、html5libは よりも寛大なはずなのにhtml.parser、それを使用して HTML ページを解析するときに厄介なコードに遭遇したのはなぜですか?

以下は小さな実行例です。 ( を で変更した後html5libhtml.parser中国語の出力は正常です。)

#_*_coding:utf-8_*_
import requests
from bs4 import BeautifulSoup

ss = requests.Session()
res = ss.get("http://tech.qq.com/a/20151225/050487.htm")
html = res.content.decode("GBK").encode("utf-8")
soup = BeautifulSoup(html, 'html5lib')
print str(soup)[0:800]  # where you can see if the html is parsed normally or not
4

1 に答える 1