讨论【悬赏2000】需要获取一个网站的公告,但是从接口中取到的数据和实际公告发布时间有 1 分钟左右的延迟

头像
yunm
72阅读3评论

需求:
我尝试每秒查询一次接口,但是从接口中取到新公告的时间,要比公告实际发布时间晚一分钟左右(例如公告发布时间是 10:00:00,但接口要 10:01:00才能获取到新发布的公告)

网址:https://www.binance.com/en/support/announcement/latest-binance-news?c=49&navId=49
接口:https://www.binance.com/bapi/composite/v1/public/cms/article/list/query?type=1&pageSize=20&pageNo=1
【悬赏2000】需要获取一个网站的公告,但是从接口中取到的数据和实际公告发布时间有 1 分钟左右的延迟

要求:取到数据的时间与公告实际发布时间最大间隔在 1 秒内
能做的大佬联系我,预算 2000

讨论话题:
工作&职场
收藏
举报
加载中…
精选评论
头像
等级0
import requests
from bs4 import BeautifulSoup
import time
import datetime

# Binance 公告页面 URL
url = "https://www.binance.com/zh-CN/support/announcement/%E6%95%B0%E5%AD%97%E8%B4%A7%E5%B8%81%E5%8F%8A%E4%BA%A4%E6%98%93%E5%AF%B9%E4%B8%8A%E6%96%B0?c=48&navId=48&hl=zh-CN"

def fetch_announcements():
    response = requests.get(url)
    soup = BeautifulSoup(response.content, 'html.parser')

    # 查找公告信息
    announcements = soup.find_all('div', class_='css-1ej4hfo')
    
    for announcement in announcements:
        title = announcement.find('div', class_='css-6s2b31').text.strip()
        time_str = announcement.find('div', class_='css-1cqcqk4').text.strip()
        pub_time = datetime.datetime.strptime(time_str, '%Y-%m-%d %H:%M')
        
        print(f"公告标题: {title}")
        print(f"公告发布时间: {pub_time}")
        print(f"获取时间: {datetime.datetime.now()}")
        print('-------------------------')

# 定时任务,确保获取时间和发布时间不超过 1 秒
while True:
    start_time = time.time()
    fetch_announcements()
    end_time = time.time()
    elapsed_time = end_time - start_time
    
    if elapsed_time < 1:
        time.sleep(1 - elapsed_time)

这种不行 实际取到公告的时间会比公告发布时间晚很多 要找到真正返回公共数据的接口

头像
等级1

这个基本没戏,因为有CDN缓存