python - Scrapy TabError:缩进中制表符和空格的使用不一致
问题描述
我想用scrapy来抓取一个网站,只是在网站内,而不是外部链接。
这是我尝试过的:
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)
但是刮刀不起作用,怎么了?!它说 :
Scrapy TabError:缩进中制表符和空格的使用不一致
解决方案
您需要在这部分添加缩进:
for link in LxmlLinkExtractor(allow=self.allowed_domains).extract_links(response):
response_obj = {}
counter = 1
推荐阅读
- hybrid-mobile-app - WebdriverIO : driver.getContext() 从移动浏览器视图返回本机应用程序
- c++ - 如何使用特征来知道一个类型是否可以与 cout 一起使用
- apache-nifi - nifi 1.8 DBCPConnectionPool kerberos 身份验证
- asp.net-core - .Net Core 5 Post Response 返回不正确的 Content-Type: application/json
- r - 删除重复的嵌套列表级别 - R Studio
- reactjs - 为什么“min”和“max”属性不会影响反应图表的垂直轴?
- excel - Power Query:返回自我(此)查询名称
- javascript - Firebase 更改文件夹中的数据
- python-3.x - 在 Windows 上安装 Kapua 的问题
- c# - C# Dropbox 同步状态