私たちは現在、公開されている KiCad 回路図を GitHub でクロールしたい小さな検索エンジンを構築しています。ただし、GitHub API を使用してこれらをできるだけ効率的に取得する方法は不明です。これが現在のアプローチです。
- クエリを使用して .kicad_pcb ファイルを含むリポジトリを検索
.kicad_pcb in:path created:2015-01-01..2015-01-31
し、数か月にわたって繰り返します。PyGithub を使用しているため、実際のコードは次のとおりです。
repos = g.search_repositories(f'.kicad_pcb in:path created:{dt.strftime("%Y-%m")}-01..dt.strftime("%Y-%m")}-{last_day[1]}')
- コード検索クエリを使用して各リポジトリを検索します。
.kicad_pcb in:path repo:{repo.full_name}
ただし、結果として、パスに .kicad_pcb が含まれていないファイルを取得しています。また、検索全体では、2015 年から現在までの 462 個の kicad ファイルを含む 228 個のリポジトリしか返されませんが、これは非常に少ないと思われます。私たちが犯した間違いを見つけたり、より良いアプローチを提案したりできる人はいますか?
追加の質問: 「検索コード」機能を使用すると、GitHub は 1 MB 未満の「ブロブ」しか提供できないため、例外が発生することがあります。これを防ぐ方法はありますか?後でダウンロードするための URL を取得できる限り、ファイルを検索結果に含める必要はありません。