Python Flask爬虫:分析获取影视资源的方案
来自CloudWiki
获取影视资源的方案解析
- 人工找资源并录入到数据库
- 自动找资源,自动录入
爬虫技术选型
- 方便嵌入Flask的定时任务框架
- Requests : Python Http客户端
- BeatifulSoup : HTML解析标签库
- APScheduler : Python任务调度模块
- Flask-APScheduler : Flask框架调度模块
爬虫核心功能
- 获取资源HTML
- 解析HTML的视频信息
- 将视频信息入库
pip3 install -r requirement.txt
pip install apscheduler-3.6.1
apschelduler测试
# -*- coding: utf-8 -*- from apscheduler.schedulers.blocking import BlockingScheduler import datetime def aps_test(): print( datetime.datetime.now().strftime( "%Y-%m-%d %H:%M:%S" ) ) scheduler = BlockingScheduler() scheduler.add_job( func= aps_test,trigger="cron",second="*/5") scheduler.start()
测试结果:
2022-02-02 16:02:20 2022-02-02 16:02:25 2022-02-02 16:02:30
Flask-APScheduler
安装Flask-APScheduler
pip install flask_apscheduler
from flask import Flask from flask_apscheduler import APScheduler app = Flask(__name__)#创建一个该类的实例,第一个参数是应用模块或者包的名称 scheduler = APScheduler( ) scheduler.init_app(app) @app.route('/')#告诉Flask 什么样的URL能触发函数 def hello_world(): return 'Hello World!' def aps_test(): import datetime print(datetime.datetime.now().strftime( "%Y-%m-%d %H:%M:%S" )) if __name__ == '__main__':#程序入口 scheduler.add_job( func = aps_test,trigger="cron",second = "*/5",id = "aps_test" ) scheduler.start() app.run()#让应用运行在本地服务器上。