나는이 거미와 함께 많은 발전을 이루었습니다. 코딩에 익숙해지고 있으며 매 순간마다 즐기고 있습니다. 그러나, 내가 배우는 동안 내 프로그래밍의 대부분은 문제 해결이다. 여기에 내 현재 오류 :치료는 성공적이나 정보를 출력하지 않습니까?
내 스파이더는 터미널 창에서 원하는 모든 데이터를 보여줍니다. 출력 할 때 아무 것도 나타나지 않습니다. 여기 내 코드가있다.
import re
import json
from urlparse import urlparse
from scrapy.selector import Selector
try:
from scrapy.spider import Spider
except:
from scrapy.spider import BaseSpider as Spider
from scrapy.utils.response import get_base_url
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors import LinkExtractor
from scrapy.selector import HtmlXPathSelector
from database.items import databaseItem
from scrapy.log import *
class CommonSpider(CrawlSpider):
name = 'fenders.py'
allowed_domains = ['usedprice.com']
start_urls = ['http://www.usedprice.com/items/guitars-musical-instruments/fender/?ob=model_asc#results']
rules = (
Rule(LinkExtractor(allow=()), callback='parse_item'),
)
def parse_item(self, response):
hxs = HtmlXPathSelector(response)
item = []
data = hxs.select('//tr[@class="oddItemColor baseText"]')
tmpNextPage = hxs.select('//div[@class="baseText blue"]/span[@id="pnLink"]/a/@href').extract()
for attr in data:
#item = RowItem()
instrInfo = attr.select('//td[@class="itemResult"]/text()').extract()
print "Instrument Info: ", instrInfo
yield instrInfo
parse_item()은 문자열이 아닌 항목 또는 로더를 생성 할 것으로 기대합니다. – JoeLinux
감사합니다. 나는 그것의 구현이 무엇을 의미하는지 완전히 확신하지 못한다. – page
InstrInfo 인스턴스화 바로 위에 RowItem 객체를 주석 처리했습니다. RowItem을 채우고 그 값을 생성해야합니다. – JoeLinux