url = "www.someurl.com" request = urllib2.Request(url,header={"User-agent" : "Mozilla/5.0"}) contentString = urllib2.url(request).read() contentFile = StringIO.StringIO(contentString) for i in range(0,2): html = contentFile.readline() print html
上面的代码从命令行运行良好,但如果我将其添加到 cron 作业,则会抛出以下错误:
File "/usr/lib64/python2.6/urllib2.py", line 409, in _open '_open', req) File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain result = func(*args) File "/usr/lib64/python2.6/urllib2.py", line 1186, in http_open return self.do_open(httplib.HTTPConnection, req) File "/usr/lib64/python2.6/urllib2.py", line 1161, in do_open raise URLError(err) urllib2.URLError:
我确实在其他论坛上看过一些提示并尝试过,但没有用。
任何帮助将不胜感激。
最佳答案
crontab 使用的环境变量与命令行使用的环境变量不同。
我通过添加 */15 * * * * 解决了这个问题。 $HOME/.profile;/路径/到/命令。
这使得 crontab 能够获取为系统指定的环境变量。
关于python - 如果我独立运行程序,Urllib2 运行正常,但当我将其添加到 cronjob 时会抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14827296/