在for循环中增加停留时间,避免封禁ip
时间: 2024-03-24 18:36:37 浏览: 152
是的,您可以在循环中增加停留时间,以避免频繁请求导致封禁 IP。下面是一个修改后的示例代码:
```python
import akshare as ak
import pandas as pd
import time
# 获取 A 股代码列表
stock_codes = ak.stock_info_a_code_name(indicator="A股列表")["股票代码"]
# 获取 A 股所有股票的 5 分钟 K 线数据并存储到指定路径下的 csv 文件中
for stock_code in stock_codes:
try:
print(f"开始获取 {stock_code} 数据...")
# 获取 A 股 5 分钟 K 线数据
kline_data = ak.stock_zh_a_hist(symbol=stock_code, period="5", adjust="qfq")
# 将 k 线数据存储到指定路径下的 csv 文件中
kline_data.to_csv(f"指定路径/{stock_code}.csv", index=False)
print(f"{stock_code} 数据获取并存储成功!")
except:
print(f"{stock_code} 数据获取失败!")
time.sleep(1) # 停留 1 秒,避免频繁请求导致封禁 IP
```
在这个示例代码中,我们使用 `time.sleep()` 函数在每次请求后停留 1 秒钟,以避免频繁请求导致封禁 IP。需要注意的是,增加停留时间会使得代码运行时间变长,但可以有效避免被封禁 IP 的风险。
希望这个代码示例对您有所帮助。如果您有其他问题,请随时问我。
阅读全文