我正在从内容经常更改的 URL 中抓取数据,并在 Flask 中提供页面。 每小时重新抓取数据并将其发送到 Flask 的最佳策略是什么? 注意:在 Windows cmd 的虚拟环境中运行它。
我尝试了一些使用 APSchedule 的示例,但没有运气。 代码如下
#News feed test for Xibo Signage
from flask import Flask, render_template
from markupsafe import Markup
app=Flask(__name__)
from urllib.request import Request, urlopen
from bs4 import BeautifulSoup
import requests
from datetime import datetime
# datetime object containing current date and time
# dd/mm/YY H:M:S
now = datetime.now()
current_time = now.strftime("%d/%m/%Y %H:%M:%S")
url = "https://news.clemson.edu/tag/extension/"
soup = BeautifulSoup(requests.get(url, headers={'user-agent':'Mozilla/5.0'}).text)
picture=[]
for e in soup.select('article img.lazyload'):
sorce = (e.get('data-src'))
picture.append(sorce)
title=[]
for e in soup.select('article header'):
etitle = (e.find("h3", class_="entry-title bold").text)
title.append(etitle)
# print(e.find("h3", class_="entry-title bold"))
pictures = picture
titles = title
@app.route('/')
def home():
return render_template('home.html',pictures=pictures, titles=titles, current_time=current_time)
if __name__ == '__main__':
app.run(host='0.0.0.0')
app.run(debug=True)
尝试 nssm.exe 将您的应用程序转换为服务,该服务可以随 Windows 启动并在后台运行。
我只是使用
choco
来安装nssm.exe:
choco install nssm
然后重新启动 shell,输入:
nssm install flask
将会弹出一个简单的 GUI。只需以命令行形式设置您的 python 程序即可。