从 Python 中的urllib2
和feedparser
库开始,每当尝试从特定 URL 连接和获取内容时,我大部分时间都会收到以下错误:
urllib2.URLError: <urlopen error [Errno 110] Connection timed out>
最小的可重现示例(基本、feedparser.parser
直接使用和高级,我urllib2
首先使用库来获取 XML 内容)粘贴在下面。
# 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
)运行我的实验。报告的错误在远程机器上发生得更频繁,尽管即使在本地主机上也是不可预测的。
任何建议将不胜感激。