我正在研究一个个人项目的初始阶段,即从EDGAR下载10-Q语句。快速免责声明,我对编程和 python 非常陌生,所以我编写的代码非常基本,甚至不使用自定义函数和类,只是一个很长的脚本,我更愿意编辑。因此,一些解决方案非常粗糙(即使用 CIK 和其他搜索选项连接 url,而不是使用"浏览器"标头执行请求)
我一直遇到一个问题,那些刮过EDGAR的人可能很熟悉。我的脚本时不时地停止运行。它不会引发任何异常(我创建了一些附加 txt 报告的链接,这些报告带有无法打开的链接等等)。我怀疑 SEC 服务器在某个时间单位内对来自 IP 的请求有一定的限制(如果我在 CTRL-C 脚本后等待一段时间并再次运行它,与快速重新激活相比,它会生成更多的输出),或者可能是 TWC 将我识别为机器人并限制此类请求。
如果是SEC,什么可能起作用?我尝试学习如何使用 TOR 并可能时不时地获得一个新 IP,但我真的找不到一些适合我专业水平的基本教程。也许有人可以推荐一些关于这个话题的好东西?
也许计时器会工作?就像每隔一小时左右强制脚本进入睡眠状态(仍在尝试弄清楚如何制作这样的计时器并在事件发生时重置它们)。这个特殊问题的主要挑战是我不能让它在晚上运行。
提前感谢您的任何建议,我一直在与它斗争几天,在这个阶段,我可能需要一个多月才能得到我想要的东西(在我开始处理 10-K 之前)
似乎延迟非常有用 - 坐在 3.5k 下载时没有中断,这要归功于一个简单的:
import(time)
time.sleep(random.randint(0, 1) + abs(random.normalvariate(0, 0.2)))