Как интегрировать пауков и Scrapy-Ctl.py
Вопрос
Я новичок в Python и Scrapy, и, следовательно, получаю некоторые основные сомнения (пощадите мое невежество о некоторых основаниях, которые я хочу учиться: D).
Сейчас я пишу несколько пауков и реализую их с помощью SCRAPY-CTL.PY из командной строки, набрав:
C:\Python26\dmoz>python scrapy-ctl.py crawl spider
Но я не хочу, чтобы две отдельные коды Python и командную строку для реализации этого. Я хочу как-то определить паук и сделать его ползти URL-адреса, написав и запустив один код Python. Я мог заметить, что в файле SCRAPY-CTL.PY , «Выполнить» типа функция Импортируется, но я не знаю, как к тому, как эта функция может быть определена в коде, содержащем Spider. Если кто-то объяснит мне, как это сделать, если это возможно, потому что это значительно снижает работу.
Заранее спасибо!!
Решение
Но я не хочу два отдельных кода Python и командную строку для реализации этого. Я хочу каким-то образом определить паук и заставить его ползать URL, написав и запустил один код Python.
Я не уверен, что усилия окупаются, если вы просто хотите что-то просматривать. У вас есть как минимум два варианта:
Вкопаться
scrapy/cmdline.py
. Отказ Вы увидите, что это своего рода диспетчерский скрипт, наконец, передавая работу доrun
Метод для указанной команды, здесьcrawl
(вscrapy/commands/crawl.py
). Посмотрите на строку 54, я думаю,scrapymanager.start()
начнется ваша настоящая команда, после некоторой настройки.Немного хитрости: используйте питонов
subprocess
Модуль, чтобы иметь один ваш проект и выполнение в одном файле (или проекте).