Python 2.7 刮擦未保存数据
我正在尝试创建一个收集特定数据的蜘蛛。 有一个网站,上面有一个接收学生的排名列表。我需要所有大学的“计算机工程”(乌克兰语)专业的所有人。 没有错误,但csv文件创建为空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
# -*- 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文件的地方吗?哦..我不知道这个=.=谢谢你)你在哪里保存数据?你是如何运行你的代码的?