Python Flask爬虫:分析获取影视资源的方案

来自CloudWiki
跳转至: 导航搜索

获取影视资源的方案解析

  • 人工找资源并录入到数据库
  • 自动找资源,自动录入

Python22020101.png

爬虫技术选型

  • 方便嵌入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()#让应用运行在本地服务器上。