Python刮片意外缩进错误

Python刮片意外缩进错误,python,scrapy,Python,Scrapy,我们试图抓取诸如“产品”、“价格”等项目,但我们不断得到缩进错误 我们正在使用的代码(crawlproduct.py): 和items.py: from scrapy.item import Item, Field class ProductCrawlItem(Item): product = Field() price = Field() stock = Field() link = Field() 当我们只使用1个字

我们试图抓取诸如“产品”、“价格”等项目,但我们不断得到缩进错误

我们正在使用的代码(crawlproduct.py):

和items.py:

from scrapy.item import Item, Field

    class ProductCrawlItem(Item):
        product = Field()
        price = Field()
        stock = Field()
        link = Field()
当我们只使用1个字段时,它确实有效。。。 有人知道这个问题吗

提前感谢,


Dean

使用以下缩进,这可能是您想要的:

from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from productcrawl.items import ProductCrawlItem

class MySpider(BaseSpider):
    name = "crawlproduct"
    allowed_domains = ["yorcom.nl"]
    f = open("items.txt")
    start_urls = [url.strip() for url in f.readlines()] 
    f.close()


def parse(self, response):
    hxs = HtmlXPathSelector(response)
    events = hxs.select("//div[@class='productOverview']")
    items = []
    for event in events:
        item = ProductCrawlItem()
        item ["product"] = events.select("table/tbody/tr/td[@class='productTitle']/a/text()").extract()
        item ["price"] = events.select("table/tbody/tr/td[@class='productPrice']/a/text()").extract()
        item ["stock"] = events.select("table/tbody/tr/td[@class='productStock   voorraad']/a/text()").extract()
        item ["link"] = events.select("table/tbody/tr/td[@class='productTitle']/a").extract()
        yield item

你在某处混合了空格和制表符。我们无法在这里帮助您,因为您的缩进在您的问题中不正确。只需打开一个编辑器,检查您自己为每行添加了多少空格或制表符,而不是使用SO.IndentationError来增加开销?为什么不在尝试使用框架之前先学习语言的基础知识呢?我不是故意苛刻,但真的。
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from productcrawl.items import ProductCrawlItem

class MySpider(BaseSpider):
    name = "crawlproduct"
    allowed_domains = ["yorcom.nl"]
    f = open("items.txt")
    start_urls = [url.strip() for url in f.readlines()] 
    f.close()


def parse(self, response):
    hxs = HtmlXPathSelector(response)
    events = hxs.select("//div[@class='productOverview']")
    items = []
    for event in events:
        item = ProductCrawlItem()
        item ["product"] = events.select("table/tbody/tr/td[@class='productTitle']/a/text()").extract()
        item ["price"] = events.select("table/tbody/tr/td[@class='productPrice']/a/text()").extract()
        item ["stock"] = events.select("table/tbody/tr/td[@class='productStock   voorraad']/a/text()").extract()
        item ["link"] = events.select("table/tbody/tr/td[@class='productTitle']/a").extract()
        yield item