世界上只有dog雄 发表于 2019-12-27 05:39

用API检测网页内容更新,学习过程和附带源码!

本帖最后由 世界上只有dog雄 于 2019-12-27 05:48 编辑

这是学习过程的源码,目的是检测一个github项目更新提示的源码。


源码是自己看教程理解后加上的注释,不知道准不准确,小白学习如有不对的地方请老白https://attach.52pojie.cn//forum/201912/27/054741knsw6nn7spogp6hh.jpg?l指出,谢谢!

import requests
importwebbrowser
import time
api = 'https://api.github.com/repos/soimort/you-get'#API地址
web_page = 'https://github.com/soimort/you-get'#项目地址

#last_update = None
last_update = '2019-12-24T20:51:16Z'#为了测试效果直接赋值一个时间。

all_info = requests.get(api).json() #转换获取到的API数据为pyhon能识别的字典型数据结构

#dict_info=all_info.json()   //相当于上面的模式"requests.get(api).json()"赋值转换

cur_update = all_info['updated_at'] """这里蕴含一个字符串也可以比大小的知识,需要相同格式的字符串比大小,是能正常比对的!
这里还用到了字典列表,all_info['updated_at']就是取了all_info里面的字典对应的键值(还没理解……)

"""
print(cur_update)
while True:#无限循环检测
   
    if not last_update:#这里判断last_update的值是否存在
      last_update = cur_update#判断两边的(不理解……)



    if last_update < cur_update:#判断两边的值的大小
      webbrowser.open(web_page)#如果last_update的值小于cur_upate的值则打开项目地址页面

      time.sleep(600)#程序睡眠600s 也算是暂停600s再继续循环执行




EnderCaster 发表于 2019-12-27 17:34

>>> import datetime
>>> d=datetime.datetime.strptime('2019-12-27T08:48:13Z',"%Y-%m-%dT%H:%M:%SZ")
>>> d
datetime.datetime(2019, 12, 27, 8, 48, 13)
>>>d.timestamp()
1577407693.0

我看获取时间那里用的字符串比较,我觉得直接转换成时间戳的比较会准确一点
时间戳这里就变成数字比较了
if not last_update: # 这里是判断last_update有没有值,如果没有的话,把cur_update赋值给last_update,我的理解是做了一下初始化操作(因为只有初始化的时候有可能没值……)
然后按照这个判断逻辑,在打开网页之后应该更新last_update的值,那么while True里面可以改写成
    if not last_update or last_update < cur_update:
      webbrowser.open(web_page)
      last_update=cur_update
      time.sleep(600)

世界上只有dog雄 发表于 2019-12-27 22:42

本帖最后由 世界上只有dog雄 于 2019-12-27 22:43 编辑

EnderCaster 发表于 2019-12-27 17:34
>>> import datetime
>>> d=datetime.datetime.strptime('2019-12-27T08:48:13Z ...
谢谢,指点。不过因为初学还不太懂。不知道能不能详细讲解,能注释一下就谢谢了。你没时间也没关系,也谢谢了:lol
if not last_update or last_update < cur_update:
    webbrowser.open(web_page)
    last_update=cur_update
    time.sleep(600)

diyikuai 发表于 2019-12-27 07:02

感谢分享。学习了。

少林大虾 发表于 2019-12-27 08:10

学无止境!谢楼主分享!

goldengod 发表于 2019-12-27 08:50

围观学习现场.:0

一人之下123456 发表于 2019-12-27 09:08

学习学习,谢谢楼主的分享

l101 发表于 2019-12-27 09:52

是程序更新升级?(′・_・`)

renzhe1232 发表于 2019-12-27 10:39

好专业啊,还写了注释

china08 发表于 2019-12-27 10:50

神器神器

O-NE 发表于 2019-12-27 10:51

学习学习

shuye001 发表于 2019-12-27 10:59

学习学习,谢谢楼主的分享。。
页: [1] 2
查看完整版本: 用API检测网页内容更新,学习过程和附带源码!