如何给自己的网站做一个每日新闻页!

为了让网站内容更丰富,我们可以搭建一个新闻聚合页面。页面效果可参考:https://www.58c.cn/60s 。其中包含 每日简报、当下非常热门的 60 秒读懂全世界,以及 必应每日壁纸。接口资源十分丰富,大家可以根据需求自行接入。今天主要演示 简报60 秒读懂全世界(图文版) 的效果。

此教程站长仅在子比主题上测试,别的主题自行尝试!

每天30秒读懂全世界运行原理,首先从60s通过api获取每日的数据,数据保存在服务器上,然后通过Python在本地将获取的数据生成一张图片,在将图片同步到oss云存储,最后将图片展示在网站中!

每日简报原理,首先将今日简报的内容通过Webhook发送至服务器,然后将服务器的数据通过代码展示出来。

60s读懂全世界

首先我们要先部署自己的60s接口网站,不想部署可以利用公共实例!公共实例由热心 60s API 用户提供,不保证其稳定性,使用请注意版本区别。

60s开源仓库地址:https://github.com/vikiboss/60s 使用docker部署很简单的,这里不做教程!

当60s部署好之后,访问容器绑定的域名或者ip加端口访问出现下面内容证明60s部署成功了!

图片[1]-如何给自己的网站做一个每日新闻页!-58创客网

接口部署成功后下来我们将在服务器调用接口并且生成图片!

第一步:在服务器文件创建一个文件夹,不需要必须在网站目录内,服务器本地文件中创建即可!

图片[2]-如何给自己的网站做一个每日新闻页!-58创客网

第二步:下载py文件,将文件放到自己创建的目录里面去!

下来在文件夹上方点击终端,输入下方命令

执行命令:python3 你的文件名.py

执行完成就会看到自己设置的文件目录下会出现生成的图片!

第三步:将图片上传至oss然后网站前端调用【不上传也可以直接在服务器调用】

import oss2
import os
import time

# ================= 配置项 =================
ACCESS_KEY_ID = '自己的key' # 自己阿里云
ACCESS_KEY_SECRET = '自己的key' # 自己阿里云
BUCKET_NAME = 'duomilc' # 存储名称
ENDPOINT = '根据子的存储填写'  # 例如 'oss-cn-hangzhou.aliyuncs.com'

LOCAL_FOLDER = r'本地文件夹'  # 本地文件夹
REMOTE_FOLDER = '云端目录'     # OSS 上的前缀,可为空
# =========================================

# 初始化 OSS
auth = oss2.Auth(ACCESS_KEY_ID, ACCESS_KEY_SECRET)
bucket = oss2.Bucket(auth, ENDPOINT, BUCKET_NAME)

def list_oss_objects(prefix):
    """获取 OSS 上指定前缀下所有对象"""
    keys = []
    for obj in oss2.ObjectIterator(bucket, prefix=prefix):
        keys.append(obj.key)
    return keys

def upload_file(local_path, remote_path):
    try:
        bucket.put_object_from_file(remote_path, local_path)
        print(f"[上传成功] {remote_path}")
    except Exception as e:
        print(f"[上传失败] {remote_path},错误: {e}")

def delete_oss_file(remote_path):
    try:
        bucket.delete_object(remote_path)
        print(f"[删除成功] {remote_path}")
    except Exception as e:
        print(f"[删除失败] {remote_path},错误: {e}")

def sync_local_to_oss(local_folder, remote_folder):
    """本地控制 OSS 同步"""
    # 遍历本地文件
    local_files = []
    for root, dirs, files in os.walk(local_folder):
        for file in files:
            local_path = os.path.join(root, file)
            relative_path = os.path.relpath(local_path, local_folder).replace("\\", "/")
            remote_path = f"{remote_folder}{relative_path}"
            local_files.append(remote_path)
            # 上传文件
            upload_file(local_path, remote_path)

    # 获取 OSS 上的文件列表
    oss_files = list_oss_objects(remote_folder)

    # 删除 OSS 上已经不存在于本地的文件
    for oss_file in oss_files:
        if oss_file not in local_files:
            delete_oss_file(oss_file)

if __name__ == "__main__":
    print("开始同步本地到 OSS...")
    sync_local_to_oss(LOCAL_FOLDER, REMOTE_FOLDER)
    print("同步完成!")

下来在文件夹上方点击终端,输入下方命令

执行命令:python3 你的文件名.py

执行完成后本地图片就会上传至阿里云oss云存储上!

第四步:在网站后台创建一个页面,开启模块化布局,然后添加一个模块html模块,将下述代码粘贴进去即可!

<div style="display:flex; justify-content:center; align-items:center; width:100%; overflow:hidden;">
  <img src="输入自己的图片地址"  
       alt="自适应图片"
       style="
         width:100%;
         max-width:1000px;
         height:auto;
         border-radius:12px;
         box-shadow:0 8px 20px rgba(0,0,0,0.2);
         display:block;
       "
  >
</div>

第五步:设置一个自动执行脚本,这样每天自动生成图片,然后自动上传,上传完成后每次网站调用的都是最新的图片!

如何给自己的网站做一个每日新闻页!-58创客网
如何给自己的网站做一个每日新闻页!
此内容为付费阅读,请付费后查看
D币19.9
限时特惠
D币29.9
立即购买
您未登录,建议登录后购买以保存订单。
24小时自助
VIP客户服务
每日更新
付费咨询
付费阅读
已售 86
© 版权声明
THE END
喜欢就支持一下吧
点赞2520 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容