2016-12-31 2 views
0

이 웹 사이트는 제한된 시간 동안 임의의 시간대에 사고 싶은 것을 올리는 웹 사이트이며, 제한된 시간 동안 내 전화에 메시지를 보내기 위해 무언가를 쓰고 싶습니다. 새 URL이 해당 웹 페이지에 게시됩니다.클래스 내의 함수 내에서 함수 호출하기

나는 거의 업데이트되지 않았기 때문에 페이지의 링크 수를 계산하여이를 5 분 전과 비교하여 5 분마다 확인한 다음 5 분 후에 해당 내용이 10인지 확인합니다. 그보다 5 분 후에 15 분 전에 무엇을 확인한 후 ... 원래보다 더 큰 경우 내 전화로 메시지를 보냅니다. 여기에 지금까지이 작업은 다음과 같습니다 테스트로

class url_alert: 
    url = '' 

    def link_count(self): 
     notifyy=True 
     while notifyy: 
      try: 
       page = urllib.request.urlopen(self.url) 
       soup = bs(page, "lxml") 
       links=[] 
       for link in soup.findAll('a'): 
        links.append(link.get('href')) 
        notifyy=False 
       print('found', int(len(links)), 'links') 
      except: 
       print('Stop making so many requests') 
       time.sleep(60*5) 
     return len(links) 


    def phone(self): 
     self= phone 
    phone.message = client.messages.create(to="", from_="",body="") 
     print('notified') 


    def looper(self): 
     first_count = self.link_count() 
     print('outside while') 

     noty = True 
     while noty: 
      try: 
       second_count = self.link_count() 
       print('before compare') 

       if second_count == first_count: 
        self.phone() 
        noty = False 
      except: 
       print('not quite...') 
       time.sleep(60) 


alert = url_alert() 
alert.looper() 

, 나는 동일로 메시지를 보낼 수 있는지 여부를 결정하는 if 문을 설정하기로 결정하지만, 루프는 실행에 보관. 루퍼 함수 내에서 함수를 올바르게 호출하고 있습니까?

+0

을 떠나지 않을 것입니다, try 블록을 제거해야 할 것 같습니다? 나는 자기 .__ 전화의 정의만을보고있다. – MathSquared

+0

또한, __phone의 첫 번째 줄은 무엇입니까?'self = phone',해야 할 일은 무엇입니까? – MathSquared

+0

이것은 자신을 위해 만든 프로젝트에 대한 내 자신의 클래스를 작성하기위한 나의 첫 번째 시도입니다. 나는 self = phone이 메시지 변수와 전화 기능 사이의 '링크'와 같다고 생각했다. – e1v1s

답변

0

가 지금처럼 당신이 self.phone()가 예외 걸린다면 당신은 self.phone가 정의 루프

def looper(self): 
    first_count = self.link_count() 
    while True: 
     if first_count != self.link_count(): 
      self.phone() 
      break 
     time.sleep(60) 
관련 문제