Python feedparserのパースエラー回避方法について
feedparserを使い始めました。
ココログで削除されてしまっているあるいは存在しないブログのRSSフィードを読み込もうとすると下記のエラーが出てしまいます。
以下のページをパースしてしまっているように思われますが確認できていません。
http://www.cocolog-nifty.com/error/403
たとえば、Yahooブログで同様のことをしてもエラーはでませんでした。
このエラーの原因及び回避方法をご存知でしたら教えてください。
import feedparser
d = feedparser.parse('http://xxx.cocolog-nifty.com/xxx/atom.xml')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "feedparser.py", line 2623, in parse
feedparser.feed(data)
File "feedparser.py", line 1441, in feed
sgmllib.SGMLParser.feed(self, data)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/sgmllib.py", line 99, in feed
self.goahead(0)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/sgmllib.py", line 138, in goahead
k = self.parse_endtag(i)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/sgmllib.py", line 315, in parse_endtag
self.finish_endtag(tag)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/sgmllib.py", line 355, in finish_endtag
self.unknown_endtag(tag)
File "feedparser.py", line 476, in unknown_endtag
method()
File "feedparser.py", line 1318, in _end_content
value = self.popContent('content')
File "feedparser.py", line 700, in popContent
value = self.pop(tag)
File "feedparser.py", line 641, in pop
output = _resolveRelativeURIs(output, self.baseuri, self.encoding)
File "feedparser.py", line 1594, in _resolveRelativeURIs
p.feed(htmlSource)
File "feedparser.py", line 1441, in feed
sgmllib.SGMLParser.feed(self, data)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/sgmllib.py", line 99, in feed
self.goahead(0)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/sgmllib.py", line 133, in goahead
k = self.parse_starttag(i)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/sgmllib.py", line 291, in parse_starttag
self.finish_starttag(tag, attrs)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/sgmllib.py", line 333, in finish_starttag
self.unknown_starttag(tag, attrs)
File "feedparser.py", line 1589, in unknown_starttag
_BaseHTMLProcessor.unknown_starttag(self, tag, attrs)
File "feedparser.py", line 1458, in unknown_starttag
value = unicode(value, self.encoding)
LookupError: unknown encoding:
環境は、Mac OS 10.5.4、Python 2.5.1、feedparser 4.1
レンタルサーバのXREAでも試しましたが同様のエラーが出ました。
XREAのPythonは2.4です。
よろしくお願いします。
お礼
ありがとうございます。それも気になったので既に試していたんですが変わりませんでした。 どのように試したのいいますとmakefmlのソースの初めの方の ### determine Architechure dependence if ($ENV{'OS'} =~ /Windows_NT/) { $COMPAT_ARCH = "WINDOWS_NT4"; $COMPAT_WIN32 = 1; $CPU_TYPE_MANUFACTURER_OS = "unknown-unknown-windowsnt4"; } の直前に$CPU_TYPE_MANUFACTURER_OS = "solaris2";と書きました。 実際はLinuxですが、検索サイトで検索すると、solaris2という文字が含まれているなら...という説明があったので solaris2というのが何なのかは分かりませんが $CPU_TYPE_MANUFACTURER_OS = "solaris2";と書いてみました。