This is the point I was getting at, BioPython really has limited value for doing sequence based operations. What is worse is that while it appears to support ambiguous IUPAC Nucleotide characers, it really doesnt:
>>>Seq('AAN', IUPAC.IUPACAmbiguousDNA()) == Seq('AAA', IUPAC.IUPACAmbiguousDNA())
>>>False
Really all that happens is that under the hood BioPython treats sequences like a string, so you gain little advantage in using BioPython to mine for CRISPR sites. As for obtaining sequences, you really want to avoid using BioPython for downloading bulk data. You'd be better off periodical updates from IMG/NCBI for bacteria or Ensembl/UCSD for Eukaryotes.
Personally, if you're confident with Python and regex, I'd say skip the BioPython complexity and just use the python
repackage. This is a simple string search problem, I'm not sure that the added complexity of BioPython really adds anything.