1
url = "www.someurl.com"

request = urllib2.Request(url,header={"User-agent" : "Mozilla/5.0"})

contentString = urllib2.url(request).read()

contentFile = StringIO.StringIO(contentString)

对于范围内的 i (0,2):
    html = contentFile.readline()

打印html

上面的代码从命令行运行良好,但如果我将它添加到 cron 作业中,它会引发以下错误:

  _open 中的文件“/usr/lib64/python2.6/urllib2.py”,第 409 行
    '_open',请求)
  _call_chain 中的文件“/usr/lib64/python2.6/urllib2.py”,第 369 行
    结果 = 函数(*args)
  http_open 中的文件“/usr/lib64/python2.6/urllib2.py”,第 1186 行
    返回 self.do_open(httplib.HTTPConnection, req)
  文件“/usr/lib64/python2.6/urllib2.py”,第 1161 行,在 do_open
    引发 URLError(err)
urllib2.URL错误:

我确实在其他论坛上查看了一些提示并尝试过,但它没有用。

任何帮助都感激不尽。

4

1 回答 1

1

crontab 和命令行使用的环境变量不同。

我通过添加 */15 * * * * 来解决这个问题。$HOME/.profile; /路径/到/命令。

这使得 crontab 能够获取为系统指定的环境变量。

于 2013-02-13T06:04:21.520 回答