-1
我目前正在构建一只蜘蛛来提取乐器及其数据。Scrapy CrawlSpider Not Crawling
为此我使用的是CrawlSpider,最终的结果是将所有这些数据都放入mongoDB文档中。显然,我还没有完成,并没有得到这一点。
编辑:我能够修复错误,并让它运行:但现在爬行器抓取'0'页并没有数据返回到它输出的CSV文件。问题是什么?
这是我有:
# -*- coding: utf-8 -*-
import scrapy
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import Selector
from scrapy.item import Item
class FenderSpider(CrawlSpider):
name = "fender"
allowed_domains = ["example.org/"]
start_urls = (
'http://www.example.org/fender/?ob=model_asc#results',
)
rules = (
Rule(SgmlLinkExtractor(allow=('item\&pn=*',)), callback='parse_item'),
)
def parse_item(self, response):
item = scrapy.Item()
item['data'] = response.xpath('//span[@class="itemResult"]/text()').extract()
return item
这里是我的项目文件:
# -*- coding: utf-8 -*-
# Define here the models for your scraped items
#
# See documentation in:
# http://doc.scrapy.org/en/latest/topics/items.html
import scrapy
class MdbItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
name = 'MdbItem'
Item = scrapy.Field()
# company = scrapy.Field()
# model = scrapy.Field()
# model_name = scrapy.Field()
#instrument_type = scrapy.Field()
# year = scrapy.Field()
# serial = scrapy.Field()
# sku = scrapy.Field()
一切工作正常,但没有数据被提取。我不明白为什么。
任何人都可以帮忙吗? 我只是学习Python和Scrapy,所以我非常喜欢新手。
非常感谢,这完全解决了这个问题。但是现在我剩下一个新的 - 抓取工具似乎没有抓取或提取数据。 (忽略以上回答的编辑,这是偶然的并且意味着评论) – page 2014-11-04 21:43:58
@page这是一个单独的问题,应该在单独的问题中解决。你不应该完全编辑这个问题 - 这不是这里的事情。 – alecxe 2014-11-06 16:36:36
好的,我很抱歉。将创建一个新的问题。 – page 2014-11-06 17:22:22