【demo 定时闹钟 】 python获取网络时间

    科技2025-04-26  22

    【demo 定时闹钟 】 python获取网络时间

    1.背景2.检查元素,获取请求头和url以及数据3.code

    1.背景

    采用爬虫,爬取www.beijing-time.org网站的北京时间。

    北京时间又称中国标准时间。对应的网站:www.beijing-time.org

    python: 3.7.9 (default, Aug 31 2020, 17:10:11) [MSC v.1916 64 bit (AMD64)]

    参考: https://blog.csdn.net/qq464685223/article/details/104515897

    备注:爬取的节点可能因为网站的维护升级不可用, 目前2020.10.8测试可用。

    2.检查元素,获取请求头和url以及数据

    使用windows10集成的 Microsoft Edge浏览器打开 http://www.beijing-time.org/ 点击右侧的网络 点击刷新:查看时间数据封包 请求头: 数据:

    3.code

    # -*- coding: utf-8 -*- #2020.10.8测试有效 import time import requests import sys print(sys.version) #获取http://www.beijing-time.org/ #北京时间 def getBeijinTime(): try: ''' headers是解决requests请求反爬的方法之一, 相当于我们进去这个网页的服务器本身,假装自己本身在爬取数据。 ''' #设置请求头信息 headers = {'User-Agent': 'Mozilla/5.0'} # 设置请求地址: url = r'http://time1909.beijing-time.org/time.asp' #用python内置的requests包 r = requests.get(url=url,headers=headers)# # 检查返回的通讯代码,200是正确返回; if r.status_code == 200: # 定义result变量存放返回的信息源码; result = r.text # 通过;分割文本; data = result.split(";") # 以下是数据文本处理:切割、取长度,最最基础的东西就不描述了; year = data[1][len("nyear") + 3:] #年 month = data[2][len("nmonth") + 3:] #月 day = data[3][len("nday") + 3:] #日 wday = data[4][len("nwday")+1:] #星期 hrs = data[5][len("nhrs") + 3: ] #小时 minute = data[6][len("nmin") + 3:] #分钟 sec = data[7][len("nsec") + 3:] #秒 # 这个也简单把切割好的变量拼到beijinTimeStr变量里; timeStr = "%s-%s-%s %s:%s:%s" % (year, month, day, hrs, minute, sec) # 将timeStr转为时间戳格式; #用到函数 time.strptime(),time.mktime() timeArray = time.strptime(timeStr, '%Y-%m-%d %H:%M:%S') # 按照对应的格式转换为时间数组time.strptime() timeStamp = int(time.mktime(timeArray)) # 转换成整形时间戳 time.mktime() # 返回时间戳; return timeStamp,timeStr except: return (-1) if __name__=="__main__": print(getBeijinTime())

    运行结果:

    Processed: 0.013, SQL: 8