Первый вариант настройки в документации, второй - super(SlybotCSVItemExporter, self).init(args, *kwargs) - чемпион ГитХаба, для начала я воспроизвел второй вариант от github agrimrules/Python-Web-Crawler но воспроизвел в посте Пробовал "Scrapy feed exporter" ... а до первого варианта здесь так и не дошел... Зато в этом посте около 30 ссылок !
Оказалось, что весь сыр-бор только из-за того, чтобы упорядочить поля в сsv файле
Showing 55 available code results "ITEM_PIPELINES =" settings.py extension:py python-scrapilicious / delicious / spiders / delicious_spider.py RSEParser / resparser / pipelines.py zenki2001cn/SnippetCode ITEM_PIPELINES = 'apple.XmlExportPipelines.XmlExportPipeline', We've found 94 code results adjust_request_args We've found 15 code results ITEM_PIPELINES XMLFeedSpider. kurikintoki/ero / erovideo / erobot / spiders / old / x1x_xml_feed_spider.120512.py
github agrimrules/Python-Web-Crawler Python-Web-Crawler / example / example / feedexport.py portia / slybot / slybot / exporter.py catalog.njit.edu - парсим эту страничку ITEM_PIPELINES = { FEED_EXPORTERS = { ykalchevskiy/habra-favorites В 2012 году основал Madrobots, который и развиваю Feed exports 7.5 Item Exporters CsvItemExporter
Начинаем со второго варианта, пока не попробовал, не понимал, как он рбоатет¶
Начал пробовать здесь, но в итоге перенес все отсюда в отдельный пост (ссылка в summary к этому посту)
Здесь далее описан процесс установки и фрагменты кода...
1. В проверенном пауке для тестов отключил ITEM_PIPELINES , но втавил FEED_EXPORTERS, естественно, не забыл проверить путь¶
%load C:\Users\kiss\Documents\GitMyScrapy\scrapy_xml_1\XMLFeedSpider\XMLFeedSpider\\settings.py
# Scrapy settings for XMLFeedSpider project
#
# For simplicity, this file contains only the most important settings by
# default. All the other settings are documented here:
#
# http://doc.scrapy.org/en/latest/topics/settings.html
#
BOT_NAME = 'XMLFeedSpider'
SPIDER_MODULES = ['XMLFeedSpider.spiders']
NEWSPIDER_MODULE = 'XMLFeedSpider.spiders'
# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'XMLFeedSpider (+http://www.yourdomain.com)'
DOWNLOADER_MIDDLEWARES = {
'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware' : None,
'XMLFeedSpider.middleware.RotateUserAgentMiddleware' :400
}
#ITEM_PIPELINES = {
#'XMLFeedSpider.pipelines.XmlfeedspiderPipeline':300,
#'XMLFeedSpider.pipelines_filr1.ItemsFiltrsPipeline':350,
#'XMLFeedSpider.pipelines_tofile.ProxyListWriterPipeline':400
# }
FEED_EXPORTERS = {
'csv': 'XMLFeedSpider.itemexport.CSVOptionRespectingItemExporter',
}
2. Скопировал из apple/contrib/itemexport.py в папку с файлами настроек паука¶
%load C:\Users\kiss\Documents\GitMyScrapy\scrapy_xml_1\XMLFeedSpider\XMLFeedSpider\itemexport.py
"""
Created on Tue Nov 11 17:13:41 2014
@author: kiss
This is the copy of https://github.com/chappyhome/qidian/blob/0d87f422a0172b0607d59c38e276de4b77618ff3/apple/contrib/itemexport.py
"""
from scrapy.conf import settings
from scrapy.contrib.exporter import CsvItemExporter
class CSVOptionRespectingItemExporter(CsvItemExporter):
def __init__(self, *args, **kwargs):
delimiter = settings.get('CSV_DELIMITER', ',')
kwargs['delimiter'] = delimiter
super(CSVOptionRespectingItemExporter, self).__init__(*args, **kwargs)
- Запустил из папки проекта паука с опцией записи результата в файл scrapy crawl njit -o ''.csv -t csv"
C:\Users\kiss\Documents\GitHub_2\Pythscrapy crawl njit -o ''.csv -t csv"on-Web-Crawler-master\Python-Web-Crawler-master\example>
from scrapy.contrib.exporter import CsvItemExporter
from scrapy.conf import settings
class SlybotCSVItemExporter(CsvItemExporter):
def __init__(self, *args, **kwargs):
kwargs['fields_to_export'] = settings.getlist('CSV_EXPORT_FIELDS') or None
super(SlybotCSVItemExporter, self).__init__(*args, **kwargs)
Комментариев нет:
Отправить комментарий