2月 16
杉並区に続き、練馬区立図書館でもスクレイピングをしてみようと、Pythonのurllib2でアクセスしてみると、ValueErrorに遭遇。
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/socket.py", line 304, in read
data = self._sock.recv(rbufsize)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/httplib.py", line 509, in read
return self._read_chunked(amt)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/httplib.py", line 548, in _read_chunked
chunk_left = int(line, 16)
ValueError: invalid literal for int() with base 16: ''
取得したデータをread()した時に、問題が発生しているみたい。他のURLでは起こらないので、データの方に問題があるとか?
ググってみると、PythonのIssue Trackerに報告があがってた。
» Issue 3721: invalid literal for int() with base 16: ” – Python tracker
こちらの書き込みに従い、MacPortsでPython 2.6.1をインストールして試してみると、問題なく成功。2.6.xでは修正されているようですね。
ただ、MacではPython 2.5.xをメインに使う予定なので、2.5が修正されないのはちょっと残念。
でも、バグを修正してくれた方々には、感謝。


Recent Comments