1.time模块
主要包含处理年月日时分秒对应的时间(着重时分秒)
首先引入时间戳
的概念:时间戳就是从格林尼治时间(1970年1月1日0点0分0秒)到当前时间的时间差(单位是秒)
引入时间戳的作用:
- 1.存时间以时间戳的形式去存,可以节省内存空间(一个浮点数的内存是4/8个字节,存一个字符串一个字符占2个字节)
- 2.自带对时间加密的功能(加密更方便)
(1)获取时间
print(time.time(), type(time.time()))
#输出
1533823498.4562821 <class 'float'>
(2).将时间戳转换成struct_time
参数seconds:
a.不传参,就是将当前时间对应额时间戳转换成struct_time
b.传参,就是将制定的事件转换成struct_time
time1 = time.localtime()
print(time1)
#输出
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=9, tm_hour=22, tm_min=4, tm_sec=58, tm_wday=3, tm_yday=221, tm_isdst=0)
struct_time的结构:
tm_year:年
tm_mon:月
tm_mday:日
tm_hour:时
tm_min:分
tm_sec:秒
tm_wday:星期(0-6 --> 周一 - 周天)
tm_yday:当前是当年的第几天
tm_isdst:是否是夏令时
实例:
struct1 = time.localtime(+1)
print(struct1.tm_year, struct1.tm_mon, struct1.tm_mday)
# 1970 1 1
(3)将struct_time转换成时间戳
strc = time.strptime('2018-12-31 23:30:40', '%Y-%m-%d %H:%M:%S')
time1 = time.mktime(strc) # 转换成时间戳
# 时间加一个小时
time1 += 60*60
print('==', time.localtime(time1))
# == time.struct_time(tm_year=2019, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=30, tm_sec=40, tm_wday=1, tm_yday=1, tm_isdst=0)
(4) 时间格式转换
- strftime(时间格式,时间) ----->> 将时间以指定的格式转换成字符串
- strptime(需要转换的字符串,时间格式) ----->> 将时间字符串转换成相应的struct_time
time_str = time.strftime('%Y-%m-%d %H-%M-%S', time.localtime())
print(time_str)
struct_time = time.strptime('today is 2018 year 8 mon 5 day', 'today is %Y year %m mon %d day')
print(struct_time)
# 2018-08-09 22-09-40
# time.struct_time(tm_year=2018, tm_mon=8, tm_mday=5, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=217, tm_isdst=-1)
(5)延迟
使用sleep(second)使程序暂时阻塞,second单位为s,即:程序延迟n秒后再执行sleep下面的语句
2.itchat第三方库
这是一个基于网页版微信的API,用较少的代码便可实现微信里的各种功能,爬取各种数据(登录前提下).
import itchat
if __name__ == '__main__':
# 1.登录
itchat.auto_login(hotReload=True)
all_friend = itchat.get_friends()
name = []
addr = []
all_addr = []
for item in all_friend:
print(item)
name.append(item['NickName'])
addr.append(item['City'])
if item['Province'] == '四川':
# all_addr.append({item['NickName'], item['City']})
all_addr.append({'微信id':item['UserName'].ljust(65, ' '), 'name':item['NickName'].center(5, ' '), 'city':item['City'].rjust(2, ' '), '备注':item['RemarkName']})
print(name)
print(addr)
# print(all_addr)
for i in all_addr:
print(i)
以下是简单搜集了截取了部分微信好友(四川人)的信息
TIM截图20180809222508.png
网友评论