1.time模塊
主要包含處理年月日時分秒對應的時間(著重時分秒)
首先引入時間戳
的概念:時間戳就是從格林尼治時間(1970年1月1日0點0分0秒)到當前時間的時間差(單位是秒)
引入時間戳的作用:
- 1.存時間以時間戳的形式去存,可以節(jié)省內(nèi)存空間(一個浮點數(shù)的內(nèi)存是4/8個字節(jié),存一個字符串一個字符占2個字節(jié))
- 2.自帶對時間加密的功能(加密更方便)
(1)獲取時間
print(time.time(), type(time.time()))
#輸出
1533823498.4562821 <class 'float'>
(2).將時間戳轉(zhuǎn)換成struct_time
參數(shù)seconds:
a.不傳參,就是將當前時間對應額時間戳轉(zhuǎn)換成struct_time
b.傳參,就是將制定的事件轉(zhuǎn)換成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的結(jié)構(gòu):
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轉(zhuǎn)換成時間戳
strc = time.strptime('2018-12-31 23:30:40', '%Y-%m-%d %H:%M:%S')
time1 = time.mktime(strc) # 轉(zhuǎn)換成時間戳
# 時間加一個小時
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) 時間格式轉(zhuǎn)換
- strftime(時間格式,時間) ----->> 將時間以指定的格式轉(zhuǎn)換成字符串
- strptime(需要轉(zhuǎn)換的字符串,時間格式) ----->> 將時間字符串轉(zhuǎn)換成相應的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秒后再執(zhí)行sleep下面的語句
2.itchat第三方庫
這是一個基于網(wǎng)頁版微信的API,用較少的代碼便可實現(xiàn)微信里的各種功能,爬取各種數(shù)據(jù)(登錄前提下).
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