今回はご依頼をいただき、求人記事を自動で投稿するツールを制作しました。
複数の求人内容を予めエクセルで用意しておくことで、寝てる間に投稿させることができます。
このツール制作で学んだPythonのプログラミング知識がこちら!
- ウィンドウ操作による画像アップロード(PyAutoGUI)
- カレンダー表示(tkcalendar)
- 日時の比較処理(datetime)
- マルチスレッドの使い方(threading)
ご要望
とあるサイトで求人の投稿をしております。広範囲に投稿するにあたって結構な時間がかかるため、自動投稿みたいなことができないかなって思ってます。
承知しました!まずは普段どのように投稿されているかを確認させてください。
仕様検討
現状の投稿作業
ツール導入前の投稿作業は、このような作業構成になっていました。
- 作業0投稿サイトにログイン
投稿サイトを開き、ログインする
- 作業11件目の投稿
投稿ページに移動し、求人内容を記入して投稿する。
- 作業22件目の投稿
投稿ページに移動し、求人内容を記入して投稿する。
- 作業33件目の投稿
投稿ページに移動し、求人内容を記入して投稿する。
- ・・・最後の投稿
最後の求人内容まで、繰り返し記入と投稿をする。
- 前の投稿が完了しないと次の投稿内容を記入できないため、最後の投稿が完了するまでユーザの入力作業が続いてしまう。
- 投稿入力画面には、項目によってプルダウン選択や文字入力など、異なる操作を要する入力インタフェースとなっているため、入力操作が何度も続くと煩雑で疲れてしまう。
ツールの仕様
依頼者様と打ち合わせを重ね、ツールに関する仕様は以下のようになりました。
- エクセルの投稿リストを導入する。
- ユーザは予め、すべての投稿内容を投稿リストに記入する。(1行に1件記入)
- 投稿リストのフォーマットは決めておく。
- 投稿リストを読み込んだときに、チェックをかける。
- チェック内容は、投稿サイト上の記入制限に基づき設定する。
- ツールは投稿リストを読み込み、1件ずつ投稿ページへの記入&投稿を繰り返す。
- ツールの投稿処理にはタイマー機能を設け、指定日時に実行できるようにする。
- すべての投稿内容をエクセルにまとめることで、ユーザの入力作業を1ステップに集約
- ユーザ入力インタフェースを文字入力(on エクセル)に統一することで、コピペなどもできるようにし、操作の負担を軽減。
- 時間のかかる投稿作業は全てツールが担い、その間ユーザは他のことをできる。
制作したツール
ファイル構成
ファイル構成は以下の通りです。
LN | ファイル名 | 説明 |
1 | 自動投稿ツール_YYMMDD.exe | ツール本体です。 |
2 | 投稿リスト.xlsx | 投稿する内容を一覧にしたエクセルです。 ユーザは、ツール起動前にこのエクセルを編集します。 |
3 | default.ini | 投稿サイトへのログインIDとパスワードを 記載しておくファイルです。記載しておくと、 ツール起動時に自動的に読み込んでくれるので便利です。 |
4 | imgフォルダ | 投稿時にアップロードしたい画像ファイルを入れておく フォルダです。 |
5 | df_area.csv | 求人を出す対象地域をまとめたデータベースファイルです。 投稿リストのチェックにつかうもので、 特にユーザが編集する必要はありません。 |
投稿リストの編集
ツールを起動する前に、投稿リストを編集します。
以下にサンプルを示します。
ツール起動画面
投稿リストの編集が完了したら、ツール(自動投稿ツール_YYMMDD.exe)を起動します。
ツールが起動すると、このようなウィンドウが開きます。
投稿リストの読込み
最初に投稿リスト読込みボタンをクリックし、投稿リスト.xlsxをツールに読み込ませます。
投稿リストが正しく読み込まれた場合
投稿リストのチェックOKです。読み込みは完了です。
投稿用の設定に進みます。
投稿リストにエラーがある場合
投稿リストの中の記載になんらか誤りがあります。
この場合、読み込んだ投稿リスト.xlsxとは別に、投稿リスト_チェック結果.xlsxというファイルが生成されます。このファイルは、ユーザが直感的に投稿リストを修正できるよう、投稿リスト上のどこのセルにエラーがあるかをマーキングしたファイルになります。
中身のサンプルがこちら。
このように、エラーがあるセルをピンク色でハッチングし、必須入力なのに空になってしまっていたり、無効な値が入力されていたり、といった内容を指摘してくれます。
この投稿リスト_チェック結果.xlsxを直接修正し、保存後にファイル名を投稿リスト.xlsxに変えて再度読み込ませると、作業性が良いです。
投稿リストに誤りがあるまま投稿をすると、投稿処理が途中で止まってしまったり、意図しない内容で投稿してしまったりするリスクがありますので、投稿リストのチェックと修正は重要です。
ツールのチェックでは、入力必須箇所に記入漏れがないか、また記入内容の定型的なチェックしかできませんので、文章の内容誤りや誤字脱字などは検知できません。
特に募集する求人の給与額などは、人の目でのチェックが重要となります。
投稿処理の設定
投稿先サイトのログインIDとパスワードを入力し、投稿インターバルの秒数を選択します。
また、投稿処理の実行タイミングを決めます。今すぐ実行するか、投稿日時を指定することができます。投稿日時を指定して実行する場合は、カレンダーから指定したい日を選び、時刻をオプションメニュー(プルダウン)から選択します。
一括投稿開始
投稿リストの読込みが正常に完了したら、投稿ボタンをクリックします。
するとブラウザ(Google Chrome)が自動的に立ち上がり、投稿サイトにログインします。その後、新規投稿ページに遷移し、読み込んだ投稿リストの内容に従って1件ずつ投稿を開始します。
日時指定を選択して投稿ボタンをクリックした場合は、投稿開始までの時間をカウントダウン表示して待機します。この間、ツールは入力を受け付けません。指定日時になると、ブラウザが自動的に立ち上がり、投稿処理を行ってくれます。
まとめ
今回、とあるサイトでの求人投稿を自動的に行うツールを制作しました。
投稿内容を予めエクセルにまとめて記入することで、ユーザの作業を1ステップに集約しました。これにより、時間のかかる投稿サイト上での繰り返し入力作業は全てツールが担い、ユーザの作業時間を短縮することができました。
以上になります!