# coding=utf-8import timeimport osfrom apscheduler.schedulers.blocking import BlockingSchedulerfrom selenium import webdriverimport jsonimport timeimport requestsfrom urllib.parse import urlencodefile = 'cookies.json'reply_msg=''logfile = 'log.log'# 打开网址def open_url(url,driver):driver.get(url)driver.delete_all_cookies()driver.implicitly_wait(5)driver.maximize_window()# 向浏览器添加保存的cookiesdef add_cookies(driver):fp = open(file, 'r')cookies = json.load(fp)fp.close()for cookie in cookies:driver.add_cookie(cookie)def save_cookies(driver):cookies = driver.get_cookies()fp = open(file, 'w')jsonCookies = json.dumps(cookies)# 登录完成后,将cookie保存到本地文件with open(file, 'w') as f:f.write(jsonCookies)fp.close()# 关闭浏览器def run(driver):global f_listglobal reply_msgdriver.get("https://mp.toutiao.com/profile_v3/weitoutiao")time.sleep(3)articUrl = driver.find_element_by_xpath("//a[@class='src-pages-content-components-post-item-item-body-index-content'][1]").get_attribute("href")if articUrl not in f_list:send_reply(driver,articUrl,reply_msg)add_log(articUrl)print("reply Ok")else:print("now not flush")def send_reply(driver,articUrl,reply_msg):driver.get(articUrl)driver.find_element_by_xpath("//textarea").click()time.sleep(1)driver.find_element_by_xpath("//textarea").send_keys(reply_msg)time.sleep(1)driver.find_element_by_xpath("//div[@class='c-submit']").click()# open()def add_log(logUrl):global f_listif logUrl not in f_list:f_list.append(logUrl)with open(logfile,"a+",encoding='utf-8') as log:log.write(logUrl+'\n')if __name__ == '__main__':f_list = []with open("msg.txt","r+",encoding='utf-8') as msg:reply_msg = msg.read()try:with open(logfile,"r+",encoding='utf-8') as log:texts = log.readlines()for t in texts:f_list.append(t[:-1])except:open(logfile, "w+", encoding='utf-8').close()#进入进程# '''driver = webdriver.Firefox()open_url("https://www.toutiao.com", driver)time.sleep(3)# 添加cookies后刷新界面,实现免密登录add_cookies(driver)driver.refresh()key = input("请输入")if key == 'start':print("start")# save_cookies(driver)run(driver)# '''scheduler = BlockingScheduler()scheduler.add_job(run,'interval',seconds=90,args=[driver])scheduler.start()driver.close()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。