標籤:
利用爬蟲,定時擷取微博內容。用正則匹配指令
#檢測微博內容實現自動操作電腦#2015/3/16import osimport reimport urllib.requestimport timeclass sCrapy: def __init__(self,url): self.url = url def get_html(self): self.req = urllib.request.Request(self.url) self.req.add_header(‘User-Agent‘,‘Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36‘) self.html = urllib.request.urlopen(self.req).read().decode("utf-8") def find_message(self,Regex = None,target=None): print("I AM Online") self.Getlist = re.search(Regex,self.html) self.get_instruction = self.Getlist.groups() self.get_time = False if re.search(r"剛剛",self.html): self.get_time = True print("right now matched") elif re.search(r"[0-9]{1,2}分鐘前",self.html): self.get_time = True print("minute matched") #get_time = re.search(r"1分鐘前",self.html) if re.search("剛剛") #print(get_time) print("Before run the get_time is ",self.get_time) if re.search(r‘shutdown‘,self.get_instruction[0]) and self.get_time: #print("Before judge the shutdown_a is ",shutdown_a) #print("\nBefore judge the shutdown_t is ",shutdown_t) print("I search the %s"%self.get_instruction[0]) if re.search(r"-a",self.get_instruction[0]) and target[0] == False: print("取消關機") os.system("shutdown -a") self.get_time = False target[0] = True target[1] = False print("Now the get_time is ",self.get_time) elif target[1] == False and re.search(r"-t",self.get_instruction[0]): self.time = str(re.findall(r"[0-9]+",self.get_instruction[0])[0]) self.shutdown = "shutdown "+"-s "+"-t "+self.time print("親,要關機了喲") #print(shutdown) os.system(self.shutdown) self.get_time = False target[1] = True target[0] = False print("Now the get_time is ",self.get_time) if __name__ == ‘__main__‘: url = "http://t.qq.com/devil19951104" Craw = sCrapy(url) target = [] target.append(False) target.append(False) #target = False while True : Craw.get_html() try: Craw.find_message(r‘([a-z]+ -[a-zA-Z]{1} {0,1}[0-9]*)‘,target) except: print("親,還沒有命令或者你的命令已經開始執行啦~~") print("Already") time.sleep(600)
Python實現利用微博遠程關機