python - Django 后端脚本调度
问题描述
我正在使用 Django 构建一个网站,除此之外,我还想展示有关某个主题的最新消息。例如,我在后端有一个 python 脚本,我想对其进行编程以每 1 小时检索一次最新消息。同时,我希望能够显示最近检索到的新闻。我这样做是为了避免每次有人打开我的网站时都会激活脚本。
我的脚本在 news.py 中:
import pprint
import requests
import datetime
import pandas as pd
import dateutil.parser
secret = "********"
url = 'https://newsapi.org/v2/everything?'
quote = 'Amazon'
parameters1 = {
'q': quote,
'pageSize': 100,
'sortby': 'publishedAt',
'apiKey': secret,
}
response1 = requests.get(url, params=parameters1)
response_json1 = response1.json()
text_combined1 = []
for i in response_json1['articles']:
if i['content'] != None:
case = {'Source': i['source']['name'], 'Title': i['title'], 'url': i['url'],
'Published on:': dateutil.parser.parse(i['publishedAt']).strftime('%Y-%m-%d'), 'Image': i['urlToImage']}
text_combined1.append(case)
data_amazon = pd.DataFrame.from_dict(text_combined1)
news1 = data_amazon.iloc[0]
news2 = data_amazon.iloc[1]
news3 = data_amazon.iloc[2]
我的views.py 看起来像这样:
from django.shortcuts import render
from .news import *
def dashboard(request):
content = {'data': data, 'news1': news1, 'news2': news2, 'news3': news3}
return render(request, 'dashboard.html',
content)
我是 Web 开发的新手,但我现在的理解是,每次有人向我的网页发送请求时,都会运行该脚本,这会导致新闻显示延迟,并且很可能会拒绝访问新闻。 api 由于请求太多。
先感谢您!
解决方案
推荐阅读
- vb.net - 最近文件列表的位置 vb.net
- java - 将 DTO 用作另一个 DTO 中的字段
- php - 如何在刀片中制作多维数组并使用 laravel 5.5+ 将其发送到控制器
- string - HOCON 转义双引号
- azure - 在用户之间分摊启用 Azure 语音的机器人的成本
- javascript - 如何做 z-index 的反向功能
- xamarin - 如何获得网络速度,在 xamarin iOS 中是快还是慢?
- python - 我怎么知道在 Android 上运行 selenium
- javascript - 如何在使用 vue.js 提交表单之前显示图像预览?
- c# - 比较两个日期时,并非所有代码路径都返回一个值?