求人の投稿を自動的に行うツール

とっと
とっと

 今回はご依頼をいただき、求人記事を自動で投稿するツールを制作しました。

複数の求人内容を予めエクセルで用意しておくことで、寝てる間に投稿させることができます。

とっと
とっと

 このツール制作で学んだPythonのプログラミング知識がこちら!

  • ウィンドウ操作による画像アップロード(PyAutoGUI)
  • カレンダー表示(tkcalendar)
  • 日時の比較処理(datetime)
  • マルチスレッドの使い方(threading)

ご要望

依頼者
依頼者

 とあるサイトで求人の投稿をしております。広範囲に投稿するにあたって結構な時間がかかるため、自動投稿みたいなことができないかなって思ってます。

とっと
とっと

 承知しました!まずは普段どのように投稿されているかを確認させてください。

仕様検討

現状の投稿作業

 ツール導入前の投稿作業は、このような作業構成になっていました。

  • 作業0
    投稿サイトにログイン

    投稿サイトを開き、ログインする

  • 作業1
    1件目の投稿

    投稿ページに移動し、求人内容を記入して投稿する。

  • 作業2
    2件目の投稿

    投稿ページに移動し、求人内容を記入して投稿する。

  • 作業3
    3件目の投稿

    投稿ページに移動し、求人内容を記入して投稿する。

  • ・・・
    最後の投稿

    最後の求人内容まで、繰り返し記入と投稿をする。

改善ポイント
  • 前の投稿が完了しないと次の投稿内容を記入できないため、最後の投稿が完了するまでユーザの入力作業が続いてしまう
  • 投稿入力画面には、項目によってプルダウン選択や文字入力など、異なる操作を要する入力インタフェースとなっているため、入力操作が何度も続くと煩雑で疲れてしまう。

ツールの仕様

依頼者様と打ち合わせを重ね、ツールに関する仕様は以下のようになりました。

  • エクセルの投稿リストを導入する。
  • ユーザは予め、すべての投稿内容を投稿リストに記入する。(1行に1件記入)
  • 投稿リストのフォーマットは決めておく。
  • 投稿リストを読み込んだときに、チェックをかける。
  • チェック内容は、投稿サイト上の記入制限に基づき設定する。
  • ツールは投稿リストを読み込み、1件ずつ投稿ページへの記入&投稿を繰り返す
  • ツールの投稿処理にはタイマー機能を設け、指定日時に実行できるようにする。

ここがすごい
  • すべての投稿内容をエクセルにまとめることで、ユーザの入力作業を1ステップに集約
  • ユーザ入力インタフェースを文字入力(on エクセル)に統一することで、コピペなどもできるようにし、操作の負担を軽減
  • 時間のかかる投稿作業は全てツールが担い、その間ユーザは他のことをできる

制作したツール

ファイル構成

 ファイル構成は以下の通りです。

LNファイル名説明
1自動投稿ツール_YYMMDD.exeツール本体です。
2投稿リスト.xlsx投稿する内容を一覧にしたエクセルです。
ユーザは、ツール起動前にこのエクセルを編集します。
3default.ini投稿サイトへのログインIDとパスワードを
記載しておくファイルです。記載しておくと、
ツール起動時に自動的に読み込んでくれるので便利です。
4imgフォルダ投稿時にアップロードしたい画像ファイルを入れておく
フォルダです。
5df_area.csv求人を出す対象地域をまとめたデータベースファイルです。
投稿リストのチェックにつかうもので、
特にユーザが編集する必要はありません。

すべてのファイルをツール本体と同じフォルダに入れる必要があります。ファイル名(フォルダ名)も固定としています。

投稿リストの編集

 ツールを起動する前に、投稿リストを編集します。

 以下にサンプルを示します。

縦方向の投稿数は自由に変えてOKですが、横方向の項目数と項目名は固定です。

ツール起動画面

 投稿リストの編集が完了したら、ツール(自動投稿ツール_YYMMDD.exe)を起動します。

最初の一回のみ、このような画面が出るかもしれません。その場合は許可して継続します。

 ツールが起動すると、このようなウィンドウが開きます。

投稿リストの読込み

 最初に投稿リスト読込みボタンをクリックし、投稿リスト.xlsxをツールに読み込ませます。

ツールに読み込ませる投稿リストのファイル名は、投稿リスト.xlsx 固定となります。

投稿リストが正しく読み込まれた場合

 投稿リストのチェックOKです。読み込みは完了です。

 投稿用の設定に進みます。

このメッセージが出るまで(投稿リストが正しく記入されるまで)、次の投稿開始ボタンをクリックしても投稿できないようにしています。

投稿リストにエラーがある場合

 投稿リストの中の記載になんらか誤りがあります。

 この場合、読み込んだ投稿リスト.xlsxとは別に、投稿リスト_チェック結果.xlsxというファイルが生成されます。このファイルは、ユーザが直感的に投稿リストを修正できるよう、投稿リスト上のどこのセルにエラーがあるかをマーキングしたファイルになります。

 中身のサンプルがこちら。

 このように、エラーがあるセルをピンク色でハッチングし、必須入力なのに空になってしまっていたり、無効な値が入力されていたり、といった内容を指摘してくれます。

この投稿リスト_チェック結果.xlsxを直接修正し、保存後にファイル名を投稿リスト.xlsxに変えて再度読み込ませると、作業性が良いです。

 投稿リストに誤りがあるまま投稿をすると、投稿処理が途中で止まってしまったり、意図しない内容で投稿してしまったりするリスクがありますので、投稿リストのチェックと修正は重要です。

 ツールのチェックでは、入力必須箇所に記入漏れがないか、また記入内容の定型的なチェックしかできませんので、文章の内容誤りや誤字脱字などは検知できません。

 特に募集する求人の給与額などは、人の目でのチェックが重要となります。

投稿処理の設定

 投稿先サイトのログインIDとパスワードを入力し、投稿インターバルの秒数を選択します。

default.iniファイルにIDとパスワードを記入しておくと、ツール起動時に自動的に読み込んでくれます。投稿インターバルとは、投稿と投稿の間に設ける待機秒数のことです。

 また、投稿処理の実行タイミングを決めます。今すぐ実行するか、投稿日時を指定することができます。投稿日時を指定して実行する場合は、カレンダーから指定したい日を選び、時刻をオプションメニュー(プルダウン)から選択します。

 

一括投稿開始

 投稿リストの読込みが正常に完了したら、投稿ボタンをクリックします。

 するとブラウザ(Google Chrome)が自動的に立ち上がり、投稿サイトにログインします。その後、新規投稿ページに遷移し、読み込んだ投稿リストの内容に従って1件ずつ投稿を開始します。

 日時指定を選択して投稿ボタンをクリックした場合は、投稿開始までの時間をカウントダウン表示して待機します。この間、ツールは入力を受け付けません。指定日時になると、ブラウザが自動的に立ち上がり、投稿処理を行ってくれます。

 

ブラウザ(Google Chrome)起動後、ツールが自動的に投稿処理をしている間は、キーボードとマウスの操作は避ける必要があります。

まとめ

 今回、とあるサイトでの求人投稿を自動的に行うツールを制作しました。

 投稿内容を予めエクセルにまとめて記入することで、ユーザの作業を1ステップに集約しました。これにより、時間のかかる投稿サイト上での繰り返し入力作業は全てツールが担い、ユーザの作業時間を短縮することができました。

とっと
とっと

以上になります!