【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
import time
import requests
import sys
print(sys
.version
)
def getBeijinTime():
try:
'''
headers是解决requests请求反爬的方法之一,
相当于我们进去这个网页的服务器本身,假装自己本身在爬取数据。
'''
headers
= {'User-Agent': 'Mozilla/5.0'}
url
= r
'http://time1909.beijing-time.org/time.asp'
r
= requests
.get
(url
=url
,headers
=headers
)
if r
.status_code
== 200:
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:]
timeStr
= "%s-%s-%s %s:%s:%s" % (year
, month
, day
, hrs
, minute
, sec
)
timeArray
= time
.strptime
(timeStr
, '%Y-%m-%d %H:%M:%S')
timeStamp
= int(time
.mktime
(timeArray
))
return timeStamp
,timeStr
except:
return (-1)
if __name__
=="__main__":
print(getBeijinTime
())
运行结果: