Я получил эту ошибку при запуске Scrapy проекта мой spider.py кодTypeError: «instancemethod» объект не имеет атрибута «__getitem__» при запуске Scrapy паука
import scrapy
import re
from tutorial.items import TutorialItem
class tutorialSpider(scrapy.Spider):
name="tutorial"
allowed_domain=['examble.com']
start_urls = ["examble.com/something"]
def parse(self, response):
for sel in response.xpath('//*[@id="post-entry"]/div/article'):
item = TutorialItem()
item['Title'] = sel.xpath('div[2]/h2/a/text()').extract[0]
item['MainPageUrl'] = sel.xpath('div[2]/h2/a/@href').extract[0]
item['Author'] = sel.xpath('div[2]/div/span/a/text()').extract[0]
request = scrapy.Request(item['MianPageUrl'], callback=self.parseContentDetails)
request.meta['item'] = item
yield request
def parseContentDetails(self,response):
item = response.meta['item']
item['Content'] = response.xpath()
item['Count'] = response.xpath()
print type(item)
return item
и мой pipeline.py является
class TutorialPipeline(object):
def __init__(self):
#self.setupDBCon()
#self.createTables()
def process_item(self, item, spider):
for key, value in item.iteritems():
if(isinstance(value, list)):
if value:
templist = []
for obj in value:
temp = self.stripHTML(obj)
templist.append(temp)
item[key] = templist
else:
item[key] = ""
else:
item[key] = self.stripHTML(value)
print item.get('Title', '')
return item
и мой items.py является
from scrapy.item import Item, Field
class TutorialItem(Item):
Title=Field()
Author = Field()
MianPageUrl = Field()
Content=Field()
Count=Field()
пожалуйста скажите мне решение этой ошибки. Я искал столько сайтов. что сайты только сказать instancemethod объекта не имеют ошибок атрибута в Джанго, но я хочу, чтобы решение для Scrapy
Пожалуйста, ваши отслеживающий, линии до (и включая 'TypeError' линии) –