from airflow import DAG
from airflow.operators.python import PythonOperator
from datetime import datetime, timedelta
# 爬虫任务函数
def crawl_task():
# 这里应该是爬虫的代码
print("正在执行爬虫任务...")
# 假设爬虫的执行结果
return "爬虫任务执行完成"
# 定义DAG参数
default_args = {
'owner': 'airflow',
'start_date': datetime(2022, 1, 1),
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
# 创建DAG对象
dag = DAG(
'crawler_dag',
default_args=default_args,
schedule_interval='0 0 * * *' # 每天凌晨执行
)
# 创建爬虫任务
crawl_task = PythonOperator(
task_id='crawl_job',
python_callable=crawl_task,
dag=dag,
)
这段代码演示了如何使用Apache Airflow创建一个简单的每天定时运行的爬虫任务DAG。在这个DAG中,只有一个爬虫任务,它会在指定的时间间隔执行。这个例子教会用户如何设置DAG的参数、创建操作符以及设置任务的调度间隔。