BossHunter
스마트 구직 에이전트(소스 공개, PolyForm 비상업적 라이선스; 상업적 이용은 별도 서면 허가 필요)
入札ノート:国・自治体の入札公告と国の落札実績を、機関・地域・会社ごとに無料で見られるサイト
README 전체를 불러오는 중입니다.
README 전문 보기 ↗国・都道府県・市区町村の入札公告と、国の機関の落札実績を、発注機関・地域・分野・落札した会社ごとにまとめて無料で見せる静的サイトです。有料の入札情報サービスで見るような「どの会社が、どこから、いくらで落札したか」を、国のオープンデータから自動で作ります。
公開先:https://micoficial.github.io/nyusatsu-note/
| データ | 提供 | 使い方 |
|---|---|---|
| 官公需情報ポータルサイト 検索API(APIガイド) | 中小企業庁 | 入札公告(件名・機関・公告日・元の公告のURL)。公告文から締切・開札の日付を読み取る |
| 調達ポータル 落札実績オープンデータ(年度ごとの全件ZIP+日ごとの差分ZIP) | デジタル庁 | 国の機関の落札(件名・落札日・落札額・府省・落札者・法人番号) |
fetch.mjs は4秒おきに1回)node scripts/fetch.mjs # 調達ポータル+公告の直近3日(日曜は14日)を data/ に取る
KKJ_DAYS=95 node scripts/fetch.mjs # 公告を95日さかのぼって取る(初回)
node scripts/build.mjs # dist/ にサイトを作る(1分ほど)
node scripts/serve.mjs # http://localhost:4177/nyusatsu-note/ で確認
LIMIT=300 node scripts/build.mjs で会社ページを300件だけ作れる(試すとき用)。KEEP_RAW=1 で官公需ポータルの応答を data/raw/kkj/ に残し、REUSE_RAW=1 で残した応答を読み直す(取り直さない)。
scripts/fetch.mjs:取得。調達ポータルは一覧ページからファイル名を読み、全件ZIP(月1回更新)と差分ZIP(毎日)を取る。官公需ポータルは公告日1日ずつ全都道府県をまとめて取り、1000件を超えたり応答がなかったりしたら都道府県で分けて取り直す。公告は月ごとの JSON(data/store/kkj/)に貯め、400日より古いものは捨てるscripts/lib/kkj.mjs:APIのXMLを読む。件名の掃除(「126145.pdf」のようなファイル名だけのときは公告文から件名を探す)、公告文から締切・開札の日付を読み取る(いちばん遅い日付。読み取った文も残す)scripts/lib/load.mjs:落札実績のCSVを読む。8列でなければ止まる(黙って変な値を出さない)。件名が「テスト」「ダミーデータ」のものは外すscripts/lib/meta.mjs:府省等のコード(S1=国土交通省など。コード表が公開されていないので件名から判定)、分野(件名の語で分ける)、売払い・単価のコードscripts/build.mjs と scripts/pages/:会社(法人番号ごと)・府省・分野・ランキング・機関(公告)・都道府県・日付などのページ.github/workflows/deploy.yml:毎日 21:30 と 6:40(日本時間)に、リリース data-latest の控え(貯めた公告・調達ポータルのZIP)を戻し、新しい分を取り、控えを差し替えてから作り直して GitHub Pages に出す。data/summary.json を毎回コミットするので、定期実行が60日で止まることもないGH_TOKEN=... bash scripts/refresh-data.sh を実行すると、日本の回線で取って控えを差し替え、作り直しを始める