利用爬虫,定时获取微博内容。用正则匹配指令
#检测微博内容实现自动操作电脑 #2015/3/16 import os import re import urllib.request import time class 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)
时间: 2024-10-31 12:00:25