Shazia Nusrat
Shazia Nusrat

Reputation: 234

django-dynamic-spider error "check_mandatory_vars"

I am using Django-dynamic-spider library for building a dynamic scraper. Scope of application is to scrape a website and save data to my db dynamically. From where I render it to my Django-app to present it with context automatically. However when I run it with command

scrapy crawl article_spider -a id=1 -a do_action=yes

I get the error below:

    2016-05-08 12:56:06 [django.db.backends] DEBUG: (0.000) QUERY = u'SELECT "dynami
c_scraper_scrapedobjclass"."id", "dynamic_scraper_scrapedobjclass"."name", "dyna
mic_scraper_scrapedobjclass"."scraper_scheduler_conf", "dynamic_scraper_scrapedo
bjclass"."checker_scheduler_conf", "dynamic_scraper_scrapedobjclass"."comments"
FROM "dynamic_scraper_scrapedobjclass" WHERE "dynamic_scraper_scrapedobjclass"."
id" = %s' - PARAMS = (1,); args=(1,)
2016-05-08 12:56:06 [root] INFO: Spider for NewsWebsite "Wikinews" (1) initializ
ed.
Unhandled error in Deferred:
2016-05-08 12:56:06 [twisted] CRITICAL: Unhandled error in Deferred:


Traceback (most recent call last):
  File "C:\Users\shazia\testscrapy\lib\site-packages\scrapy\cmdline.py", line 150
, in _run_command
    cmd.run(args, opts)
  File "C:\Users\shazia\testscrapy\lib\site-packages\scrapy\commands\crawl.py", l
ine 57, in run
    self.crawler_process.crawl(spname, **opts.spargs)
  File "C:\Users\shazia\testscrapy\lib\site-packages\scrapy\crawler.py", line 153
, in crawl
    d = crawler.crawl(*args, **kwargs)
  File "C:\Users\shazia\testscrapy\lib\site-packages\twisted\internet\defer.py",
line 1274, in unwindGenerator
    return _inlineCallbacks(None, gen, Deferred())
--- <exception caught here> ---
  File "C:\Users\shazia\testscrapy\lib\site-packages\twisted\internet\defer.py",
line 1128, in _inlineCallbacks
    result = g.send(result)
  File "C:\Users\shazia\testscrapy\lib\site-packages\scrapy\crawler.py", line 71,
 in crawl
    self.engine = self._create_engine()
  File "C:\Users\shazia\testscrapy\lib\site-packages\scrapy\crawler.py", line 83,
 in _create_engine
    return ExecutionEngine(self, lambda _: self.stop())
  File "C:\Users\shazia\testscrapy\lib\site-packages\scrapy\core\engine.py", line
 66, in __init__
    self.downloader = downloader_cls(crawler)
  File "C:\Users\shazia\testscrapy\lib\site-packages\scrapy\core\downloader\__ini
t__.py", line 65, in __init__
    self.handlers = DownloadHandlers(crawler)
  File "C:\Users\shazia\testscrapy\lib\site-packages\scrapy\core\downloader\handl
ers\__init__.py", line 23, in __init__
    cls = load_object(clspath)
  File "C:\Users\shazia\testscrapy\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 "C:\Users\shazia\testscrapy\lib\site-packages\scrapy\core\downloader\handl
ers\s3.py", line 6, in <module>
    from .http import HTTPDownloadHandler
  File "C:\Users\shazia\testscrapy\lib\site-packages\scrapy\core\downloader\handl
ers\http.py", line 5, in <module>
    from .http11 import HTTP11DownloadHandler as HTTPDownloadHandler
  File "C:\Users\shazia\testscrapy\lib\site-packages\scrapy\core\downloader\handl
ers\http11.py", line 15, in <module>
    from scrapy.xlib.tx import Agent, ProxyAgent, ResponseDone, \
  File "C:\Users\shazia\testscrapy\lib\site-packages\scrapy\xlib\tx\__init__.py",
 line 3, in <module>
    from twisted.web import client
  File "C:\Users\shazia\testscrapy\lib\site-packages\twisted\web\client.py", line
 41, in <module>
    from twisted.internet.endpoints import TCP4ClientEndpoint, SSL4ClientEndpoin
t
  File "C:\Users\shazia\testscrapy\lib\site-packages\twisted\internet\endpoints.p
y", line 34, in <module>
    from twisted.internet.stdio import StandardIO, PipeAddress
  File "C:\Users\shazia\testscrapy\lib\site-packages\twisted\internet\stdio.py",
line 30, in <module>
    from twisted.internet import _win32stdio
  File "C:\Users\shazia\testscrapy\lib\site-packages\twisted\internet\_win32stdio
.py", line 7, in <module>
    import win32api
exceptions.ImportError: No module named win32api
2016-05-08 12:56:06 [twisted] CRITICAL:

I am using this for testing for complete code reference. Please advise.

Upvotes: 2

Views: 84

Answers (1)

Mudassar Hashmi
Mudassar Hashmi

Reputation: 2899

It happened to me when I tried pywin32 from sourceforge. Please download the package from this link. Make sure your your pip is upgraded to latest version. You can upgrade it like "easy_install --upgrade pip" or "pip install --upgrade pip". Then reinstall pywin32 from the given location. It will work for you hopefully. In case you still have issues let me know.

Upvotes: 1

Related Questions