2015-07-05 10 views
10

Sono nuovo in Python e desidero utilizzare scrapy per creare un web crawler. Eseguo il tutorial in http://blog.siliconstraits.vn/building-web-crawler-scrapy/. Codice Spider piace seguente:scrapy crawler ha rilevato un'eccezione durante la lettura dei dati dell'istanza

from scrapy.spider   import BaseSpider 
from scrapy.selector   import HtmlXPathSelector 
from nettuts.items  import NettutsItem 
from scrapy.http  import Request 

class MySpider(BaseSpider): 
    name   = "nettuts" 
    allowed_domains = ["net.tutsplus.com"] 
    start_urls = ["http://net.tutsplus.com/"] 

def parse(self, response): 
    hxs  = HtmlXPathSelector(response) 
    titles  = hxs.select('//h1[@class="post_title"]/a/text()').extract() 
    for title in titles: 
     item = NettutsItem() 
     item["title"] = title 
     yield item 

Quando lanciare il ragno con la riga di comando: Scrapy crawl nettus, è l'errore seguente:

[boto] DEBUG: Retrieving credentials from metadata server. 
2015-07-05 18:27:17 [boto] ERROR: Caught exception reading instance data 

Traceback (most recent call last): 
    File "/anaconda/lib/python2.7/site-packages/boto/utils.py", line 210, in retry_url 
    r = opener.open(req, timeout=timeout) 

File "/anaconda/lib/python2.7/urllib2.py", line 431, in open 
response = self._open(req, data) 

File "/anaconda/lib/python2.7/urllib2.py", line 449, in _open 
'_open', req) 

File "/anaconda/lib/python2.7/urllib2.py", line 409, in _call_chain 
result = func(*args) 

File "/anaconda/lib/python2.7/urllib2.py", line 1227, in http_open 
return self.do_open(httplib.HTTPConnection, req) 

File "/anaconda/lib/python2.7/urllib2.py", line 1197, in do_open 
raise URLError(err) 

URLError: <urlopen error [Errno 65] No route to host> 
2015-07-05 18:27:17 [boto] ERROR: Unable to read instance data, giving up 

davvero non so cosa c'è di sbagliato. Spero che qualcuno potrebbe aiutare

+0

è che il traceback completo (sto cercando di indovinare che non è)/ – CrazyCasta

risposta

28

nel file settings.py: aggiungere impostazioni seguenti codici:

DOWNLOAD_HANDLERS = { 'S3': Nessuno,}

+0

Dove è documentato? – gusridd

+3

Qualcuno potrebbe spiegare cosa stava andando storto qui? e come ha risolto la risposta? –

+0

Non ha funzionato per me. – AnovaConsultancy

0

Le informazioni importanti sono:

URLError: <urlopen error [Errno 65] No route to host> 

che sta cercando di dirvi che il vostro computer non sa come comunicare con il sito che stai cercando di raschiare. Sei in grado di accedere normalmente al sito (ad esempio, in un browser Web) dalla macchina su cui stai tentando di eseguire questo python?

+0

sì, Potrei accedere al sito normalmente – printemp

+0

Beh, non sono sicuro di come aiutarti ulteriormente. Tutto quello che posso dire è che "Nessun percorso per ospitare" è un problema di rete che ti dice che il sistema operativo non sa come inviare pacchetti all'indirizzo IP di cui ha bisogno per inviare i pacchetti. – CrazyCasta

+0

ok, grazie comunque. Sto cercando di trovare altro – printemp

Problemi correlati