Python 2.7 刮擦未保存数据

Python 2.7 刮擦未保存数据,python-2.7,scrapy,Python 2.7,Scrapy,我正在尝试创建一个收集特定数据的蜘蛛。 有一个网站,上面有一个接收学生的排名列表。我需要所有大学的“计算机工程”(乌克兰语)专业的所有人。 没有错误,但csv文件创建为空 # -*- coding: utf-8 -*- from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule from scrapy.contrib.loader.processor import Tak

我正在尝试创建一个收集特定数据的蜘蛛。 有一个网站,上面有一个接收学生的排名列表。我需要所有大学的“计算机工程”(乌克兰语)专业的所有人。 没有错误,但csv文件创建为空

# -*- coding: utf-8 -*-
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
from scrapy.contrib.loader.processor import TakeFirst
from scrapy.contrib.loader import XPathItemLoader
from scrapy.selector import HtmlXPathSelector

class StudentSpider(CrawlSpider):
    name = "student"
    allowed_domains = ["https://abit-poisk.org.ua"]
    start_urls = ["https://abit-poisk.org.ua/rate2013/region/88/"]

    rules = [
        Rule(LinkExtractor(allow=('act=univer')), follow=True),
        Rule(LinkExtractor(allow=('act=direction'),
        restrict_xpaths=(u'//td[@data-header="Напрям"]/span[contains(.,"комп’ютерна інженерія")]',)),
            callback='parse_item')
    ]

def parse_item(self, response):
    sel = Selector(response)
    links = sel.xpath('//*[@class="statement-zar"]')
    univer = sel.xpath(u'//*[@id="mainContent"]/div/a[4]/text()'.encode('utf-8')).extract_first

    for link in links:
        item = DirectoryItem()
        item['VYZ'] = univer
        item['FIO'] = link.xpath(u'td[2]/text()'.encode('utf-8')).extract()
        item['ZNO'] = link.xpath(u'td[5]/text()'.encode('utf-8')).extract()
    return items

我期待任何想法

Scrapy具有用于导出到csv的内置工具

从:

为此,Scrapy提供了一个项目出口商的集合 不同的输出格式,如XML、CSV或JSON

可能是您正在寻找的:

将CSV格式的项目导出到给定的类似文件的对象


此站点在td标题属性中存在键入错误

请尝试将规则列表中的Xpath更改为
//td[@data hedaer=“БаПаМ”]

编辑:我在
td
中未找到任何“span”子项


这个表达式的作用是:
//td[@data hedaer=“ааПааааааааааааааааааааа?那是你设置csv文件的地方吗?哦..我不知道这个=.=谢谢你)你在哪里保存数据?你是如何运行你的代码的?