私はこれをしました:
>>> from bs4 import BeautifulSoup; import urllib2
>>> data = urllib2.urlopen('http://api.stackexchange.com/docs/').read()
>>> soup = BeautifulSoup(data.replace('""','"')) # there are errors on page
>>> soup.prettify()
<!DOCTYPE HTML>
<html lang="en">
............... # cut short
</html>
data
大丈夫だと思います。問題はの出力にありsoup
ます。
soup.prettify()
データ内のすべてを含む文字列を出力していません。soup
文字列全体(またはそれが行うこと)を解析していない ようです。
Webページのソースとの出力をsoup.prettify()
調べると、それらが一致していないことがわかります。
ここで何が起こっているのか、そしてその理由は何ですか。
この投稿ではあまりはっきりしていない気がします。もしそうならコメントしてください。詳しく説明してみます。それ以外の場合は、この文を自由に削除してください...
更新
FakeRainBrigandのコメントに応えて、ブラウザを使用してhtmlを保存しても、問題は解決しません...したがって、これでも同じ問題が発生します。
data = open('Stack Exchange API.htm').read()