2016-11-05 9 views
0

Ich bin neu in Scrapy und habe nur ein grundlegendes Verständnis von Python.
Fehler beim Ausführen des Scrapy-Lernprogramms.
ich einen Windows 7 OS haben, 64 Bit und eine 32-Bit-Python 2.7.12
Schritte IScrapy Tutorial Twisted Fehler

  • Gefolgt Schritte gemäß der Installationsseite bisher genommen haben installiert und eine virtuelle Umgebung ‚scrapy einrichten "
  • aktiviert, um die virtuelle Umgebung
  • installiert scrapy (alle Abhängigkeiten zu scheinen installiert in Ordnung, einschließlich pywin, die 32-Bit-Version)
  • Schritte Ran per Tutorial Seite
  • scrapy startproject tutorial
  • Datei erstellt quotes_spider.py, mit dem auf der gegebenen Code tutorial page
  • Von scrapy \ Scripts \ tutorial ich scrapy crawl quotes lief und bekam den folgenden Fehler

    (scrapy) F:\My Projects\scrapy\Scripts\tutorial>scrapy crawl quotes 
    2016-11-05 14:21:59 [scrapy] INFO: Scrapy 1.2.1 started (bot: tutorial) 
    2016-11-05 14:21:59 [scrapy] INFO: Overridden settings:         {'NEWSPIDER_MODULE': 'tutorial.spiders', 'SPIDER_MODULES': ['tutorial.spiders'],   'ROBOTSTXT_OBEY': True, 'BOT_NAME': 'tutorial'} 
    2016-11-05 14:21:59 [scrapy] INFO: Enabled   extensions:'scrapy.extensions.logstats.LogStats','scrapy.extensions.telnet.Telne  tConsole', 'scrapy.extensions.corestats.CoreStats'] Unhandled error in Deferred: 
    2016-11-05 14:21:59 [twisted] CRITICAL: Unhandled error in Deferred: 
    2016-11-05 14:21:59 [twisted] CRITICAL: 
    Traceback (most recent call last): 
    File "f:\myproj~1\scrapy\lib\site-packages\twisted\internet\defer.py",   line 12 60, in _inlineCallbacks result = g.send(result) 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\crawler.py", line 90,   in crawl six.reraise(*exc_info) 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\crawler.py", line 72,   in crawl self.engine = self._create_engine() 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\crawler.py", line 97,   in _create_engine return ExecutionEngine(self, lambda _: self.stop()) 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\core\engine.py", line   68, in __init__ self.downloader = downloader_cls(crawler) 
    File "f:\myproj~1\scrapy\lib\site-  packages\scrapy\core\downloader\__init__.py" 
    , line 88, in __init__ self.middleware =   DownloaderMiddlewareManager.from_crawler(crawler) 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\middleware.py", line     58, in from_crawler return cls.from_settings(crawler.settings, crawler) 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\middleware.py", line   34, in from_settings mwcls = load_object(clspath) 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\utils\misc.py", line   44, in load_object mod = import_module(module) 
    File "c:\python27\Lib\importlib\__init__.py", line 37, in   import_module__import__(name) 
    File "f:\myproj~1\scrapy\lib\site-  packages\scrapy\downloadermiddlewares\retry.py", line 23, in <module> from   scrapy.xlib.tx import ResponseFailed 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\xlib\tx\__init__.py",   line 3, in <module> from twisted.web import client 
    File "f:\myproj~1\scrapy\lib\site-packages\twisted\web\client.py", line   42, in <module> from twisted.internet.endpoints import TCP4ClientEndpoint,   SSL4ClientEndpoint 
    File "f:\myproj~1\scrapy\lib\site-packages\twisted\internet\endpoints.py", line 36, in <module> from   twisted.internet.stdio import StandardIO, PipeAddress 
    File "f:\myproj~1\scrapy\lib\site-packages\twisted\internet\stdio.py",   line 30, in <module> from twisted.internet import _win32stdio 
    File "f:\myproj~1\scrapy\lib\site-  packages\twisted\internet\_win32stdio.py", line 9, in <module> import win32api 
    ImportError: No module named win32api 
    

Das ist ganz ähnlich den Fehler diskutiert here, aber die vorgeschlagenen Lösungen scheinen nicht zu funktionieren. pywin ist in meiner globalen Umgebung C: Python27 \ Lib \ site-packages installiert, wird aber nicht in meiner virtuellen Umgebung angezeigt. Ich bin mir nicht sicher, wie ich es in meinem virtuellen env installiere, da die ausführbare Datei von pywin nur die Installation unter C erlaubt. Vielen Dank im Voraus für Ihre Hilfe!

Meine pip Liste in der virtuellen env ist
attrs == 16.2.0
cffi == 1.8.3
ständig == 15.1.0
Kryptographie == 1.5.2
cssselect == 1.0. 0
enum34 == 1.1.6
IDNA == 2.1
inkrementalen == 16.10.1
ipaddress == 1.0.17
lxml == 3.6.4
parsel == 1.0.3
pyasn1 == 0.1.9
pyasn1-Module == 0.0.8
pycparser == 2,17
PyDispatcher == 2.0.5
pyOpenSSL == 16.2.0
queuelib == 1.4.2
Scrapy == 1.2.1
Service-Identität == 16.0.0
sechs == 1.10.0
Verdrehte == 16.5.0
w3lib == 1.15.0
zope.interface == 4.3.2

Antwort

2

Scheint, wie Sie win32api fehlt, einfach installieren Sie es über pip:

pip install pypiwin32 
+0

Hey eine Ahnung, ob die win32api (via pypiwin32 installiert ist) und pywin32 i von Source heruntergeladen werden im Wesentlichen die gleiche Sache? Also werde ich keine weiteren Fehler haben? Fragen Sie einfach, denn pywin32 wurde auf der Scrapy-Installationsseite als wichtig eingestuft. Danke für Ihre Hilfe! –

+0

@CraigDsoza yup, es ist im Wesentlichen die gleiche Sache. 'pypiwin32' ist, wie es auf' pypi' (Python Package Index) genannt wird, von dem Sie es herunterladen und mit 'pip' Paketverwaltungssystem aufbauen können. – Granitosaurus

Verwandte Themen