【发布时间】:2014-11-28 20:15:36
【问题描述】:
我已经在这个蜘蛛上取得了很大的进步——我刚刚开始习惯编码并且享受它的每一分钟。然而,当我学习时,我的大部分编程都是解决问题。这是我当前的错误:
我的蜘蛛在终端窗口中显示了我想要的所有数据。当我去输出时,什么都没有出现。这是我的代码。
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() 期望你产生一个项目或加载器,而不是一个字符串。
-
谢谢。我不完全确定这意味着什么。
-
您的 RowItem 对象在您的 instrInfo 实例上方被注释掉了。您应该填充 RowItem 并产生它。
标签: python terminal scrapy output