Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Scrpay ImportError:无法导入名称请求_Python 2.7_Scrapy - Fatal编程技术网

Python 2.7 Scrpay ImportError:无法导入名称请求

Python 2.7 Scrpay ImportError:无法导入名称请求,python-2.7,scrapy,Python 2.7,Scrapy,我在这个论坛上看到过类似的问题,但这与那些不同 我有这样的项目类 ... 我的蜘蛛课是这样的 from scrapy import Request from scrapy.selector import HtmlXPathSelector from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor from scrapy.contrib.spiders import CrawlSpider, Rule from car_pl

我在这个论坛上看到过类似的问题,但这与那些不同

我有这样的项目类 ...

我的蜘蛛课是这样的

from scrapy import Request
from scrapy.selector import HtmlXPathSelector
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.contrib.spiders import CrawlSpider, Rule
from car_planet.items import NewCarItem
from car_planet.lib.html_utils import *

class NewCarSpiderSpider(CrawlSpider):
    name = 'new_car_spider'
    allowed_domains = ['toyotabharat.com']
    start_urls = ['http://www.toyotabharat.com/cars/new_cars/']

    rules = (
        Rule(SgmlLinkExtractor(allow=r'Items/'), callback='parse_item', follow=True),
    )

    def parse(self, response):
        hxs = HtmlXPathSelector(response)
        urls = hxs.select("//div[@id='sr-img']/a/@href").extract()
        items = []
        for url in urls:
            formed_url = "http://www.toyotabharat.com"+get_matched_strings("^(.*[\\/])",url)[0]+"spec_org.aspx"
            yield  Request(formed_url,callback=self.parse_level_one)

    def parse_level_one(self,response):
        hxs = HtmlXPathSelector(response)
        meta_tags = hxs.select("//meta").extract()
        item = NewCarItem()
        item['url'] = response.url
        return item
当我试着运行蜘蛛时
刮痧爬行新车蜘蛛 这个命令我得到了类似这样的错误

from scrapy import Request
ImportError: cannot import name Request

看起来像是某种配置错误。可能的原因:

  • 软件包未安装

  • 它不在PYTHONPATH下,所以python就是找不到它

  • 上一点的子集-您安装了多个python版本,而此库对于当前版本不可用(例如,您仅为python 3安装,并尝试通过python 2导入)


为了调试此问题,您可以做些什么-只需
import sys;打印sys.path
,并检查您试图导入的librray在该路径下是否可用

您从错误的位置导入请求。它位于scrapy.http中。 按如下方式更改导入:

from scrapy.http import Request
from scrapy.http import Request