那天在新浪微博上看到北北出的题目,由于最近也在做类似的爬虫研究,所以就有了这个实验。
后来在QQ上和北北说了下,要求是啥都抓,就抓乌云的。。。
然后就开始了。。
第一个版本如下,后续不断改进直到满足需求:
import urllib2; from sgmllib import SGMLParser; class CatCh(SGMLParser): def reset(self): self.url=[] SGMLParser.reset(self) def start_a(self,attrs): href = [v for k, v in attrs if k == 'href'] if href: self.url.extend(href) content = urllib2.urlopen("http://wooyun.org/").read() catch=CatCh() catch.feed(content) for item in catch.url: print item