Есть пара вопросов по библиотеках Grab и Scrapy.
1. Можно ли сделать задержку между асинхронными запросами в Grab? Например, я запустил несколько сетевых потоков, которые закачивают страницы по определенному алгоритму. Как сделать задержку между этими запросами, но при этом не тормозить всю очередь асинхронных запросов? По идеи такая возможность должна быть в библиотеке curl, но ее вроде нету.
2. Немного сложно разобраться с библиотекой scrapy. На хабре есть статья:
http://habrahabr.ru/post/115710/
Не могу до конца понять, как создать список url, по которым должен ходить паук. В grab с этим как то проще и удобней. В статье по ссылке выше условие задание такое:
Перейти на страницу abitur.nica.ru/new/www/search.php?region=77&town=0&opf=0&type=0&spec=0&ed_level=0&ed_form=0&qualif=&substr=&page=1И код, который отвечает за хождение по ссылкам:
Пройтись по каждой странице с результатами, меняя значение page
Перейти в описание вуза abitur.nica.ru/new/www/vuz_detail.php?code=486®ion=77&town=0&opf=0&type=0&spec=0&ed_level=0&ed_form=0&qualif=&substr=&page=1
class AbiturSpider(CrawlSpider): name = "abitur" allowed_domains = ["abitur.nica.ru"] start_urls = ["http://abitur.nica.ru/new/www/search.php?region=77&town=0&opf=0&type=0&spec=0&ed_level=0&ed_form=0&qualif=&substr=&page=1"] rules = ( Rule(SgmlLinkExtractor(allow=('search\.php\?.+')), follow=True), Rule(SgmlLinkExtractor(allow=('vuz_detail\.php\?.+')), callback='parse_item'), )
В общем механизм формирования ссылок в Scrapy немного непривычный, если у кого есть проекты на Scrapy, которыми могли бы поделиться для изучения, буду очень благодарен.
Также, какие еще асинхронные сетевые библиотеки используете в работе?