Brakujący schemat w adresie URL żądania

Przez pewien czas utknąłem na tym błędzie, następujący komunikat o błędzie jest następujący:

File "C:\Python27\lib\site-packages\scrapy-0.20.2-py2.7.egg\scrapy\http\request\__init__.py", line 61, in _set_url
            raise ValueError('Missing scheme in request url: %s' % self._url)
            exceptions.ValueError: Missing scheme in request url: h

Kod zdrapek:

    from scrapy.contrib.spiders import CrawlSpider, Rule
    from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
    from scrapy.selector import Selector
    from scrapy.http import Request
    from spyder.items import SypderItem

    import sys
    import MySQLdb
    import hashlib
    from scrapy import signals
    from scrapy.xlib.pydispatch import dispatcher

    # _*_ coding: utf-8 _*_

    class some_Spyder(CrawlSpider):
        name = "spyder"

        def __init__(self, *a, **kw):
            # catch the spider stopping
            # dispatcher.connect(self.spider_closed, signals.spider_closed)
            # dispatcher.connect(self.on_engine_stopped, signals.engine_stopped)

            self.allowed_domains = "domainname.com"
            self.start_urls = "http://www.domainname.com/"
            self.xpaths = '''//td[@class="CatBg" and @width="25%" 
                          and @valign="top" and @align="center"]
                          /table[@cellspacing="0"]//tr/td/a/@href'''

            self.rules = (
                Rule(SgmlLinkExtractor(restrict_xpaths=(self.xpaths))),
                Rule(SgmlLinkExtractor(allow=('cart.php?')), callback='parse_items'),
                )

            super(spyder, self).__init__(*a, **kw)

        def parse_items(self, response):
            sel = Selector(response)
            items = []
            listings = sel.xpath('//*[@id="tabContent"]/table/tr')

            item = IgeItem()
            item["header"] = sel.xpath('//td[@valign="center"]/h1/text()')

            items.append(item)
            return items

Jestem prawie pewien, że ma to związek z adresem URL, o który proszę się zeskanować w LinkExtractor. Wyodrębniając je w powłoce, wyglądają mniej więcej tak:

data=u'cart.php?target=category&category_id=826'

W porównaniu z innym adresem URL wyodrębnionym z działającego pająka:

data=u'/path/someotherpath/category.php?query=someval'

Spojrzałem na kilka pytań dotyczących SO, takich jakPobieranie zdjęć ze złomem ale czytając to myślę, że mogę mieć nieco inny problem.

Spojrzałem też na to -http://static.scrapy.org/coverage-report/scrapy_http_request___init__.html

co wyjaśnia, że ​​błąd jest generowany, jeśli self.urls brakuje „:”, patrząc na zdefiniowane przeze mnie start_urls. Nie do końca rozumiem, dlaczego ten błąd miałby się pojawić, ponieważ schemat jest jasno zdefiniowany.

Dziękuje za przeczytanie,

Toby

questionAnswers(5)

yourAnswerToTheQuestion