仕事案件のクローラー開発チームblog_admin|2018年09月06日イベント/登壇9Twitter9Facebook0B!Bookmark0Pocketはじめに開発部の吉本です。一泊二日で、ランサーズ開発合宿を熱海で行いました。クローラー開発チームでは、自社の外部サイトや提携サイトの仕事案件をランサーズの仕事検索に表示するという目的で、クローラーを開発して外部サイトとのデータ連携を行いました。以下の2つの処理に分けられます。案件をクロールするバッチ処理では以下を行っています。案件をクロールして取得する取得したデータをドキュメントとしてDBに保存ドキュメントをCloudSearchに追加する外部サイトの案件をクロールクローラーで自社の外部サイト、提携サイトの案件の取得を行います。して、schema.orgのJobPostingを使用しています。schema.orgとは、正確な情報を検索エンジンなどのクローラーが認識するための、構造化データのマークアップです。複数の外部サイトで同じ形式でデータを取得することができます。取得したJSON-LDをCloudSearchのドキュメント形式に変換して追加します。変更があった時に差分のみ更新できるようにしています。キャッシュについてバッチを実行した際に、クロールした案件データを以下でキャッシュして、表示側で読み込む際にはキャッシュを使用しています。仕事検索のview側処理CloudSearchから取得したドキュメントをオブジェクトに変換して、viewに渡すことで、ランサーズ仕事検索に自社の案件と同じ形で表示しています。オブジェクトに変換する際にキャッシュを読み込むことで処理を軽くしています。クロール先を変更することで、同じ仕組みで複数の外部サイトから案件を取得して表示することができます。今回は、以下のサイトの案件を取得して表示しています。フリーランスのための週2からのお仕事紹介おわりに外部サイトの案件を取得するためのクローラーの開発を行いました。自社の仕事検索において、DBが見れない提携サイトなどを含めたデータ連携を実現しています。©Lancers,inc.。