class SlideRelationArranger(SlideBase.SlideBaseArranger): def __init__(self,text): self.dealer = SqlDealer('SlideWeibo') self.fail_num = 0 def runTask(self,suid): baseUrl = "http://weibo.com/uid/follow" uid = suid weibo = WebWeiboSlider() #login weibo.login('13580473454','19921023') opener = weibo.getOpener() header = weibo.getHeader() print "start slide" # 逻辑,遍历十页取关注。 while True: sqlstr = "Select uid from userTable where isSlideRelation = '0'" rs = self.dealer.select(sqlstr,(),1) if rs != None: uid = str(rs[0]); print uid, print type(uid) else : print "Slide END" break slideRelation = SlideRelation("",self.dealer) s = baseUrl.replace("uid",uid) for i in range(10): page = i + 1 ss = s + "?page="+str(page) req = urllib2.Request(ss,headers = header) res = -1 while True: try: res = self.load(opener,req ,timeout = 10) print res if res == -1: continue break except Exception,e: print e time.sleep(5) continue text = res.read() slideRelation.text = text rs = slideRelation.run(uid) if rs != 1: break sqlstr = "UPDATE userTable SET isSlideRelation = '1' where uid= %s " data = [uid] self.dealer.executenow(sqlstr,list(data))