简体   繁体   中英

Scrapy TabError: inconsistent use of tabs and spaces in indentation

I want to use scrapy to crawl a website, just within the website, not external links.
here is what I've tried :

import scrapy
import json
import uuid
import os
from scrapy.linkextractors import LinkExtractor

class ItemSpider(scrapy.Spider):
    name = "items"
    allowed_domains = ['https://www.website.com']
    start_urls = ['https://www.website.com/post']
    rules = (Rule(LxmlLinkExtractor(allow=()), callback='parse_obj', follow=True),)
    def parse_obj(self, response):
        for link in LxmlLinkExtractor(allow=self.allowed_domains).extract_links(response):
        response_obj = {}
        counter = 1
        for item in response.css(".category-lcd"):
            title = item.css("div.td-post-header > header > h1::text").extract()
            title_name = title[0]
            response_obj[counter] = {
                'demo': item.css("div.td-post-content > blockquote:nth-child(10) > p::text").extract(),
                'title_name': title_name,
                'download_link': item.css("div.td-post-content > blockquote:nth-child(12) > p::text").extract()
            }
            counter += 1
        filename =  str(uuid.uuid4()) + ".json"
        with open(os.path.join('C:/scrapy/tutorial/results/',filename), 'w') as fp:
            json.dump(response_obj, fp)

But scraper doesn't work, What's wrong?! It says :

Scrapy TabError: inconsistent use of tabs and spaces in indentation

You need to add the indentation in this part:

    for link in LxmlLinkExtractor(allow=self.allowed_domains).extract_links(response):
        response_obj = {}
        counter = 1

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM