Python脚本:自动访问API并保存数据

本脚本演示如何使用Python定期访问指定API,并将其响应内容保存到文本文件中。

目标网站: https://api.vvhan.com/api/ian

脚本功能:

  • 每隔5秒访问一次API
  • 提取响应内容
  • 将提取的内容按行写入文本文件
  • 包含错误处理和延迟机制,避免对服务器造成过大压力

代码示例:

import requests
import time

url = 'https://api.vvhan.com/api/ian'
repeat_times = 500
interval = 5  # 秒

filename = 'output.txt'

with open(filename, 'w', encoding='utf-8') as f:
    for i in range(repeat_times):
        response = requests.get(url)
        if response.status_code == 200:
            content = response.text.strip()
            f.write(content + '\n')
            print(content)
        else:
            print('Error:', response.status_code)
        time.sleep(interval)

代码解释:

  1. 导入模块: import requests 用于发送HTTP请求,import time 用于控制脚本执行时间。
  2. 设置参数:
    • url: API地址
    • repeat_times: 循环次数
    • interval: 每次循环之间的时间间隔
    • filename: 输出文本文件名称
  3. 打开文件: 使用with open(filename, 'w', encoding='utf-8') as f:打开文件,以写入模式('w') 打开,并指定编码为UTF-8。
  4. 循环访问API:
    • 使用for i in range(repeat_times): 循环执行以下操作 repeat_times 次。
    • response = requests.get(url) 发送HTTP GET请求到API,并将响应存储在response变量中。
    • if response.status_code == 200: 如果响应状态码为200,表示请求成功。
      • content = response.text.strip() 提取响应内容,并去除首尾空白字符。
      • f.write(content + '\n') 将提取的内容写入文件,并添加换行符。
      • print(content) 打印提取的内容到控制台。
    • else: 如果响应状态码不为200,表示请求失败。
      • print('Error:', response.status_code) 打印错误信息到控制台。
  5. 延迟: time.sleep(interval) 暂停interval秒,等待下次循环。

注意:

  • 请注意API的使用条款,避免过度访问导致服务器压力过大。
  • 可以根据需要调整循环次数和时间间隔。
  • 脚本运行后,将在当前目录生成名为output.txt的文本文件,其中包含所有提取到的内容。

示例:

运行脚本后,output.txt文件将包含以下内容:

{“data”: […]}  // API响应内容
{“data”: […]}
{“data”: […]}
…

更多信息:

  • requests库文档:https://requests.readthedocs.io/en/master/
  • time库文档:https://docs.python.org/3/library/time.html
Python脚本:自动访问API并保存数据

原文地址: https://www.cveoy.top/t/topic/lR6c 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录