Python のライブラリから始めてurllib2
、feedparser
特定の URL に接続してコンテンツを取得しようとすると、ほとんどの場合、次のエラーが発生します。
urllib2.URLError: <urlopen error [Errno 110] Connection timed out>
最小限の再現可能な例 ( XML コンテンツをフェッチするために最初にライブラリーfeedparser.parser
を使用する基本、直接および高度な使用) を以下に貼り付けます。urllib2
# test-1
import feedparser
f = feedparser.parse('http://www.zurnal24.si/index.php?ctl=show_rss')
title = f['channel']['title']
print title
# test-2
import urllib2
import feedparser
url = 'http://www.zurnal24.si/index.php?ctl=show_rss'
opener = urllib2.build_opener()
opener.addheaders = [('User-Agent', 'Mozilla/5.0')]
request = opener.open(url)
response = request.read()
feed = feedparser.parse(response)
title = feed['channel']['title']
print title
別の URL アドレス (例: http://www.delo.si/rss/
) で試してみると、すべて正常に動作します。すべての URL が非英語 (スロベニア語など) の RSS フィードにつながることに注意してください。
ローカル マシンとリモート マシンの両方から実験を実行します (経由ssh
)。報告されたエラーはリモート マシンでより頻繁に発生しますが、ローカル ホストでも予測できません。
どんな提案でも大歓迎です。