sep/sep-015.rst
======= ============================================== SEP 15 Title ScrapyManager and SpiderManager API refactoring Author Insophia Team Created 2010-03-10 Status Final ======= ==============================================
This SEP proposes a refactoring of ScrapyManager and SpiderManager
APIs.
get(spider_name) -> Spider instance
find_by_request(request) -> list of spider names
list() -> list of spider names
remove fromdomain(), fromurl()
crawl_request(request, spider=None)
SpiderManager.find_by_request(request) if spider is Nonelen(spiders returned) != 1crawl_spider(spider)
spider.start_requests()crawl_spider_name(spider_name)
SpiderManager.get(spider_name)spider.start_requests()crawl_url(url)
spider.make_requests_from_url()remove crawl(), runonce()
Instead of using runonce(), commands (such as crawl/parse) would call
crawl_* and then start().
if is_url(arg):
ScrapyManager.crawl_url(arg)else:
ScrapyManager.crawl_spider_name(arg)ScrapyManager.crawl_* to schedule_* or add_* ?SpiderManager.find_by_request or
SpiderManager.search(request=request) ?