Python 美化组-不是预期的输出
我已经做到了:Python 美化组-不是预期的输出,python,beautifulsoup,Python,Beautifulsoup,我已经做到了: >>> 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
>>> 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>
除了Python中的默认HTML解析器之外,您还没有安装任何其他HTML解析器(这真的不太好) 然后重新加载所有内容,BeautifulSoup将自动获取lxml并使用它来解析HTML。这对我来说很有效,没有引号重写(这是某种事情正在进行的迹象)
(HTML可能以某种奇怪的方式被破坏,而Python的HTML解析器即使在bs4的帮助下也不能很好地理解这类事情。)看来,向不同的用户代理发送不同的页面也是如此。这不是BS的错;问题出现在第2行中,您使用urllib2下载页面。请参阅这个解释的答案(在本例中,由于缺少robots.txt文件,这是允许的)。。。更新..是的,你是对的,我的问题现在解决了,谢谢。
data = open('Stack Exchange API.htm').read()
pip install lxml