2014-09-26 2 views
0

Я использую Scrapy для сканирования некоторых веб-сайтов. Я запускал код вручную, и он работал хорошо (пришел в модуль конвейера и ввел данные в базу данных). Однако, когда я хочу , запустите мой код регулярно, используя crontab в Ubuntu, возникла проблема. Он не попал в модуль pileline (или функцию, которую я написал в конвейере). Что я могу сделать? Вот моя часть кода:funtion funtion не может вступить в силу в Scrapy при использовании crontab

**pipelines.py** 
class PlatformnewsPipeline(object) 
    def process_item(self, item, spider): 
     log.msg('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~') 

Это не pirint «~~~~~~~~~~~~~~~~» на выходе в кронтаб, а он сделал в ручном режиме. Последующее моя projct Settins:

DEFAULT_ITEM_CLASS = 'platformNews.items.PlatformnewsItem' 

ITEM_PIPELINES = { 
    'platformNews.pipelines.PlatformnewsPipeline': 300 
} 

crontab : 
33 9,12,18 * * * python get_news.py >> log.log 2>&1 
+0

Не могли бы вы предоставить вам свой вход в crontab? – dataisbeautiful

+0

33 9,12,18 * * * python get_news.py >> log.log 2> & 1 – Alex2Liang

+0

и что в log.log? – dataisbeautiful

ответ

0

Несколько вещей, чтобы проверить.

  1. Вы уже сказали, что ваш трубопровод не работает. Вы проверили, работает ли ваш паук? Попробуйте добавить регистрацию в свой паук.
  2. Ваша запись crontab get_news.py - это относительный путь, действительно ли он выполнен? или, возможно, python не может найти файл. Попробуйте полный абсолютный путь.
+0

Мой паук работает, но не входит в конвейеры. Абсолютный путь файла в моем crontab разрезается, я просто показываю имя файла. Однако он отлично работает, когда я ** вручную ** excute file. – Alex2Liang

Смежные вопросы