python定时爬取数据
时间: 2023-09-04 22:14:01 浏览: 122
可以使用Python的定时任务框架来实现定时爬取数据,例如使用APScheduler库。
以下是一个简单的例子,每隔5秒钟定时爬取一次数据:
```python
import requests
import time
from apscheduler.schedulers.background import BackgroundScheduler
def crawl_data():
# 发送爬取请求的代码
response = requests.get('http://example.com/data')
# 处理爬取到的数据
data = response.json()
print(data)
if __name__ == '__main__':
# 创建一个后台调度器
scheduler = BackgroundScheduler()
# 添加定时任务,每隔5秒钟执行一次
scheduler.add_job(crawl_data, 'interval', seconds=5)
# 启动调度器
scheduler.start()
try:
# 让主线程一直运行,否则调度器会停止
while True:
time.sleep(2)
except KeyboardInterrupt:
# 捕获 Ctrl+C 信号,停止调度器
scheduler.shutdown()
```
这段代码使用了APScheduler库创建了一个后台调度器,并添加了一个每隔5秒钟执行一次的定时任务。在`crawl_data`函数中,你可以编写具体的爬取和处理数据的代码。最后在`try`块中让主线程一直运行,否则调度器会停止。当你按下Ctrl+C时,调度器会被停止。