更新一波芯片和元器件制造商
前段时间一直在尝试迁移架构方案,OpenECADLib这个仓库就没更新,正好趁着这次迁移,就想内置更多的芯片和元器件制造商,这样就可以在新增元器件时直接关联制造商,为之后数据库更新做好准备。
制造商数据主要包括名称、描述、网址等字段,这一次应该已经覆盖绝大多数主流制造商,文末展示部分,可以从github仓库获取json源文件。
从网上获取数据总会遇到不稳定的情况,正常情况下,服务器肯定要对来源IP进行频控,为了解决这个问题,可以使用代理池,或者降低请求频率,我不着急,所以使用了后者。
1 | def fetch_with_retry(url, headers=None, proxies=None, retries=5, backoff_factor=0.3): |
这个函数会在请求失败时进行重试,重试次数和等待时间会随着尝试次数的增加而增加,这样可以有效降低请求频率,减少被封IP的风险。
还有个问题就是如果数据比较多,要全部获取后再保存的话,时间太长,万一中间出什么问题,之前的数据就白获取了,所以可以每次获取一部分数据后就保存一次,这样即使中途出问题,也不会浪费之前的数据。比较好的方法是根据稳定性和数据量来对数据进行切片处理。





