class ArticleServer(object): def __init__(self, reactor, conf): self.reactor = reactor self.article_extractor = ArticleExtractor(conf) self.logger = logging.getLogger("") def process_request(self, response, url): pass def process_body(self, body, url): self.article_extractor.extract(body, url) print body[:100] def process_error(self, failure, url): print failure.getErrorMessage() self.logger.error("download error, url:%s, msg:%s" % (url, failure.getErrorMessage())) def process_task(self, url): url = url.encode('utf-8') requestProcess = (self.process_request, (url,), {}) bodyProcess = (self.process_body, (url,), {}) errorProcess = (self.process_error, (url,), {}) print "article_task:", url self.reactor.download_and_process(url, None, requestProcess, bodyProcess, errorProcess, redirect=True)