Вопрос

Я новичок в 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 Метод для указанной команды, здесь crawlscrapy/commands/crawl.py). Посмотрите на строку 54, я думаю, scrapymanager.start() начнется ваша настоящая команда, после некоторой настройки.

  • Немного хитрости: используйте питонов subprocess Модуль, чтобы иметь один ваш проект и выполнение в одном файле (или проекте).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top