Функция Python, основанная на Scrapy, чтобы полностью сканировать веб-сайт - PullRequest
1 голос
/ 21 июля 2010

Я недавно обнаружил Scrapy , что я считаю очень эффективным. Тем не менее, я действительно не вижу, как встроить его в более крупный проект, написанный на python. Я хотел бы создать паука обычным способом, но иметь возможность запускать его по заданному URL-адресу с помощью функции

start_crawl(url)

, который запускает процесс сканирования в данном домене и останавливается только после просмотра всех страниц.

1 Ответ

3 голосов
/ 22 июля 2010

Скрапирование намного сложнее. Он запускает несколько процессов и использует многопоточность. Так что на самом деле нет способа использовать его как обычную функцию Python. Конечно, вы можете импортировать функцию, которая запускает сканер и вызывает ее, но что тогда? У вас будет нормальный лоскутный процесс, который взял под контроль вашу программу.

Вероятно, лучший подход здесь - запускать scrappy как подпроцесс вашей программы и взаимодействовать с ним, используя базу данных или файл. У вас хорошее разделение между вашей программой и сканером, и вы полностью контролируете основной процесс.

...