BeautifulSoup はプラグイン可能な HTML パーサーを使用して「スープ」を構築します。それぞれが壊れたページの扱いが異なるため、さまざまなパーサーを試す必要があります。
ただし、どのパーサーでもそのページを解析するのに問題はありませんでした。
>>> from beautifulsoup4 import BeautifulSoup
>>> import requests
>>> r = requests.get('http://exporter.nih.gov/ExPORTER_Catalog.aspx?index=0')
>>> for parser in ('html.parser', 'lxml', 'html5lib'):
... print repr(str(BeautifulSoup(r.text, parser))[-60:])
...
';\r\npageTracker._trackPageview();\r\n</script>\n</body>\n</html>\n'
'();\r\npageTracker._trackPageview();\r\n</script>\n</body></html>'
'();\npageTracker._trackPageview();\n</script>\n\n\n</body></html>'
最新のBeautifulSoup4
パッケージがインストールされていることを確認してください。4.2 で解決された 4.1 シリーズの一貫した問題を見てきました。