学习笔记(二) 根据发帖时间,删除相关帖子
2018-01-29 13:52
751 查看
import re from New_MyPython.Community_MyThread.Requse.HttpReq import Http import time import threading ''' 思路 一、将帖子tid取出 二、根据tid,获取当前帖子时间 三、将时间转换为时间戳,用来做时间隔断 四、将通过时间戳分割出来的帖子删除,并返回tid时间 ''' def find(stri, html): strin = stri respone = re.findall(strin, html) return respone def tid(page): url = 'http://www.oppo.cn/thread/thread/index.json?page=%s&limit=21&uid=46344778' % page html = Http().get(url) st = '"id":"(.*?)","' tids = find(st, html) return tids def thread_time(page): tid_times = [] tids = tid(page) for i in tids: url = 'http://www.oppo.cn/thread-%s-1' % i # url = 'http://www.oppo.cn/thread-196321006-1' html = Http().get(url) stri = '</i>(.*?)</span>' _time = re.findall(stri, html) # print(_time[0], '字节长度--》',len(_time[0])) ''' 以下代码补充时间格式,满足时间戳转换 ''' if len(_time[0]) < 12: _time = '2018-' + _time[0] + ':00' # print('没有年份的时间叠加-----',_time) elif len(_time[0]) == 16: _time = _time[0] + ':00' # print('有年份的时间叠加>>>>>>', _time) tim = time_convert(_time) print('正在转换时间格式为时间戳..', tim) tid_times.append(tim) tid_time_zip = dict(zip(tid_times, tids)) return tid_times, tid_time_zip # 返回uid,便于辨别相关帖子 def time_convert(tim): # 将时间转换为时间戳 timeArray = time.strptime(tim, '%Y-%m-%d %H:%M:%S') timeStamp = int(time.mktime(timeArray)) return timeStamp def time_Format(tim): # 将时间格式化 timeArray = time.localtime(tim) otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray) return otherStyleTime def del_thread(tid_dict, tim): for i in tim: time_int = int(i) if time_int > 1515979740: tid = tid_dict[i] _time = time_Format(time_int) url = 'http://i.thread.oppo.cn/thread/v1/index/delete.json?' data = {'token': '**TOKEN_AS0zrbkNjrkHPbnW5Q2C5aJ45fFbMM4%2F5S%2BPYk1ySObE8VD%2BN2BEkUMqy%2BhuprqU', # 'ukey': '**81765b375e5adf2862db3781716e04aceb71a1535748ef3c7d729ca8cc9608fba3964a930a6e692b825db8466ee02d75', 'tid': tid } html = Http().post(url, data) print(html) print('正在删除', tid, '\n发帖时间为', _time) else: tid = tid_dict[i] _time = time_Format(time_int) print('未删除', tid, '\n发帖时间为:', _time) class MyThread(threading.Thread): def __init__(self, name, page): super().__init__() self.name = name self.page = page self.lock = threading.Lock() def run(self): print(self.name + '线程开始') self.lock.acquire() tim, tid_dict = thread_time(self.page) del_thread(tid_dict, tim) self.lock.release() print(self.name + '线程结束') if __name__ == "__main__": # tim=['1516055220'] # tid_dict={'1516055220':'195233716'} strat_time=time.time() thread_name = ['thread1', 'thread2'] thread1=MyThread(thread_name[0],1) thread2=MyThread(thread_name[1],2) thread1.start() thread2.start() thread1.join() thread2.join() end_time=time.time() print('耗时:'+str(end_time-strat_time)+'秒')
相关文章推荐
- 学习笔记(一) 根据发帖时间,删除相关帖子
- [Java学习] 小型社交平台,能发帖、查看、评论、删除帖子等功能
- C++学习笔记(20161114 ) 根据指定目标时间获得时间戳(秒数)
- Android个人学习笔记之实战时间的获取相关-DateUtils
- openerp学习笔记 日期时间相关操作
- C++学习笔记(20161114 ) 根据指定目标时间获得时间戳(秒数)
- 32位汇编语言学习笔记(42)--测试时间相关函数
- 数据结构与算法分析学习笔记--第四章(二叉树:创建、递归遍历、非递归遍历、根据数据删除结点等)
- Linux邻居协议 学习笔记 之四 通用邻居项创建、查找、删除等相关的函数
- 【学习摘记】马士兵bbs改良版_课时32_删除帖子_1——删除的递归以及相关处理,依旧是难点
- 《剑指Offer》学习笔记--面试题13:在O(1)时间删除链表结点
- openerp学习笔记 日期时间相关操作
- Python学习笔记(十三)——保持时间、计划任务和启动程序以及多线程
- jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要) (转载)
- mjpg-streamer学习笔记8------输出通道--相关函数
- 树莓派3学习笔记(5):mysql相关设置
- IOS学习笔记(10)UITableView展示数据 cell删除 构建页眉页脚
- Java框架spring 学习笔记(十一):aop相关概念
- PMP学习笔记(七):项目时间管理
- wpf学习笔记(4)《都是自己根据网络资源学习记录的仅供参考》