Я пытаюсь разобрать html-страницу с помощью BeautifulSoup, но, похоже, что BeautifulSoup не нравится html или эта страница вообще. Когда я запускаю код ниже, метод prettify() возвращает мне только блок сценария страницы (см. Ниже). У кого-нибудь есть идея, почему это происходит?Проблемы с парсированием BeautifulSoup
import urllib2
from BeautifulSoup import BeautifulSoup
url = "http://www.futureshop.ca/catalog/subclass.asp?catid=10607&mfr=&logon=&langid=FR&sort=0&page=1"
html = "".join(urllib2.urlopen(url).readlines())
print "-- HTML ------------------------------------------"
print html
print "-- BeautifulSoup ---------------------------------"
print BeautifulSoup(html).prettify()
Это результат производства BeautifulSoup.
-- BeautifulSoup ---------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="JavaScript">
<!--
function highlight(img) {
document[img].src = "/marketing/sony/images/en/" + img + "_on.gif";
}
function unhighlight(img) {
document[img].src = "/marketing/sony/images/en/" + img + "_off.gif";
}
//-->
</script>
Спасибо!
UPDATE: Я использую следующую версию, которая, по-видимому, является последней.
__author__ = "Leonard Richardson ([email protected])"
__version__ = "3.1.0.1"
__copyright__ = "Copyright (c) 2004-2009 Leonard Richardson"
__license__ = "New-style BSD"
Некоторые подробнее об этом здесь: HTTP: // WWW .crummy.com/software/BeautifulSoup/3.1-problems.html – FeatureCreep