那天在新浪微博上看到北北出的题目,由于最近也在做类似的爬虫研究,所以就有了这个实验。

后来在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