'Plugin entry point, performs all the work.'

@runonce(exc_class=RunOnce)
def crawl(self, fuzzable_request):

    to_check = self._get_to_check(fuzzable_request.get_url())
    pt_matches = self._is_in_phishtank(to_check)
    for ptm in pt_matches:
        fr = FuzzableRequest(ptm.url)
        self.output_queue.put(fr)
    if pt_matches:
        desc = 'The    URL:    "%s"    seems    to    be    involved    in    a    phishing    scam.    Please    see    %s    for    more    info.'
        desc = (desc % (ptm.url, ptm.more_info_url))
        v = Vuln('Phishing    scam', desc, severity.MEDIUM, [], self.get_name())
        v.set_url(ptm.url)
        kb.kb.append(self, 'phishtank', v)
        om.out.vulnerability(v.get_desc(), severity=v.get_severity())
