使用scrapy for Python时出错

时间:2015-08-06 19:04:55

标签: python web-scraping scrapy scrapy-spider

我一直在尝试运行scrapy来抓取网站,每次我尝试运行一个我遇到一些问题。当我在命令行上运行时

DECLARE
  l_ex1 exception;
  l_ex2 exception;

  pragma exception_init( l_ex1, -20001 );
  pragma exception_init( l_ex2, -20002 );
BEGIN
  <<do something>>
EXCEPTION
  WHEN l_ex1 or l_ex2
  THEN 
    do_something_common;

    if( sqlcode = -20001 )
    then
      <<something>>
    else
      <<something else>>
    end if;
END;

我找回了一堆以

开头的错误
scrapy crawl [FILE]

究竟是什么阻止我开始运行Scrapy?

修改 我环顾了stackoverflow并改变了我的设置,似乎摆脱了错误,但这些错误仍然存​​在。 我试过运行scrapy shell,它也给了我错误,我认为这与我目前收到的错误有关。

Traceback (most recent call last):
File "C:\Users\lib\site-packages\boto\utils.py", line 210, in     r
etry_url
r = opener.open(req, timeout=timeout)
File "C:\Users\lib\urllib2.py", line 431, in open
  response = self._open(req, data)
File "C:\Users\lib\urllib2.py", line 449, in _open
  '_open', req)
File "C:\Users\lib\urllib2.py", line 409, in _call_chain
  result = func(*args)
File "C:\Users\lib\urllib2.py", line 1227, in http_open
   return self.do_open(httplib.HTTPConnection, req)
File "C:\Users\lib\urllib2.py", line 1197, in do_open
  raise URLError(err)
URLError: <urlopen error timed out>
2015-08-06 14:50:49 [boto] ERROR: Unable to read instance data, giving up

3 个答案:

答案 0 :(得分:3)

尝试通过将以下行添加到文件~/your_project/settings.py来禁用S3处理程序:

DOWNLOAD_HANDLERS = {'s3': None}

答案 1 :(得分:1)

由于来自同一网站的网页的频繁请求过多,您的程序似乎已超时。尝试在下载页面之间设置延迟。

查看Scrapy documentation for download delay

答案 2 :(得分:1)

这可能是由于python使用系统集代理。要禁用它,您可以进行以下更改:

导入os

os.environ [ 'HTTP_PROXY'] = ''