背景
以前、IT業界1年未満のエンジニアに紹介したいキャリアアップケース5選を書いたところ、
WEBディレクターになるにはどうしたらよいかもう少し深く突っ込んでほしいという声をいただきました。
そこで、スクレイピングを勉強し、未経験者がWEBディレクターになる方法をデータドリブンで考察してみました。
(この本で勉強→Pythonによるスクレイピング&機械学習 開発テクニック、著者:クジラ飛行机)
いきなり結論
少々手順が長くなるので、先に結論を記載します。
未経験者がWEBディレクターになるための私が良いんじゃないかと考える方法は以下になります。
- コスメ、アパレルなどの女性向け業界に関連するWEBサイトや、今いる会社でオウンドメディアをWordPressで自力で立ち上げる
- 自作バナーでアフィリエイト広告を設置
- サイトPVやアフィリエイトコンバージョンを上げる施作を打つ(具体的には記事を増やしたり、動画を用いたり、SEO最適化させたり、SNSで拡散、リスティング広告、小規模サテライトサイトもしくはLP作成など)
- GoogleAnalytics等でアクセス解析で効果検証し、PDCAを回す
- 成功失敗とわず施作や成果を説明する資料グラフ等を作成してWEB公開
- 習得したノウハウをWEB公開
- 上記実績をもとに、他人のサイトを無償でエンハンスし、さらに実績とする
- 一応、GAIQやウェブ解析士あたりの資格も取っておく
では興味あるかただけ、以下ここにたどり着いた経緯をご覧ください。
大まかな方針
まず、大まかな方針を立てました。
- WEBディレクターになるための情報を集める
- その情報をスクレイピングする
- スクレイピングした文字を形態素解析して名詞だけ抜き出す
- 名詞の出現頻度順に並べる
- 高出現キーワードから未経験者がWEBディレクターになる方法を考える
では早速行ってみましょう。
1. WEBディレクターになるための情報を集める
まずはなんといっても情報を集めなければなりません。
WEBディレクターになるための情報は求人サイトにたくさん載っていますよね。
数ある求人サイトからどれを選ぶか?
後に行うスクレイピングしやすいサイト、つまり規則正しく必須スキルの記載のある求人サイトを選ぶことが理想です。
そんなこんなで、某求人サイトにターゲットを絞りました。
2. その情報をスクレイピングする
では次は、その某求人サイトでWEBディレクターというキーワードでサイト内検索してみます。
すると出てくるわ出てくるわ。。
まずはWEBディレクターを募集している企業サイトのURLを抽出することにしました。
完成したのは以下のコードです。
from bs4 import BeautifulSoup
import urllib.request as req
from urllib.parse import urljoin
url = "WEBディレクターというキーワードでサイト内検索した結果のURL"
res = req.urlopen(url)
soup = BeautifulSoup(res, "html.parser")
links = soup.select("企業のURLの部分のセレクタ")
company_url = []
for i in links:
company_url.append(i["href"])
print(company_url)
これで続々とcompany_url配列に企業のURLが入っていきます。
さらにこの企業のURLにアクセスしたのちWEBディレクターになるためのスキル要件の部分をスクレイピングします。
完成したのは以下のコードです。
selectで必須スキルの部分を取得し、get_textで文字のみ取得し、splitでうまく分割するというコードです。
url = "企業のURL"
res = req.urlopen(url)
soup = BeautifulSoup(res, "html.parser")
skills = soup.select("必須スキルの部分のセレクタ").get_text(strip=True, separator=" ").split()
item_mark = ["・"]
need_skills = []
for i in skills:
if i[:1] in item_mark:
need_skills.append(i[1:])
print(need_skills)
すると、need_skills配列にビシバシ必要スキルが入ってきます。
具体的には以下のようなイメージです。
need_skills =
[ 'UI・UXに関する知見',
'英語に抵抗の無い方',
'ECに関するスキル経験全般',
'WEBマーケティング会社での業務経験',
'ネット広告代理店での業務経験',
・・・・
・・・・
・・・・]
3. スクレイピングした文字を形態素解析して名詞だけ抜き出す
次はこの得られたneed_skillsを形態素解析し、名詞だけ取り出します。
完成したコードはこちらになります。
import MeCab
import pandas as pd
import numpy as np
def wakati_by_mecab(text):
tagger = MeCab.Tagger('-Ochasen -d /usr/lib/mecab/dic/mecab-ipadic-neologd/')
tagger.parse('')
node = tagger.parseToNode(text)
word_list = []
while node:
pos = node.feature.split(",")[0]
if pos in ["名詞"]:
word = node.surface
word_list.append(word)
node = node.next
return " ".join(word_list)
all_words = []
for skill in skills:
words = wakati_by_mecab(skill).split()
all_words.extend(words)
print(all_words)
すると、all_words配列に必須スキルから名詞を取り出したものがバンバン入ってきます。
具体的には以下のようなイメージです。
all_words =
['UI',
'UX',
'知見',
'英語',
'抵抗',
'方',
'EC',
'スキル',
'経験',
・・・・
・・・・
・・・・]
4. 名詞の出現頻度順に並べる
この名詞群を出現頻度順に表示させます。
import collections
print(collections.Counter(all_words).most_common())
以下のような出力になります。
[('経験', 1248), ('方', 293), ('Web', 239), ('ディレクション', 190), ('制作', 161), ('実務', 153), ('以上', 143), ('企画', 137), ('業務', 122), ('スキル', 116), ('等', 111), ('知識', 106), ('運用', 101), ('ディレクター', 91), ('WEB', 81), ('サイト', 80), ('管理', 75), ('開発', 70), ('Webサイト', 66), ('広告', 64), ('設計', 62), ('HTML', 61), ('運営', 60), ('デザイン', 59), ('マーケティング', 58), ('提案', 58), ('サービス', 56), ('3年', 55), ('作成', 53), ('構築', 52), ('CSS', 48), ('分析', 47), ('メディア', 46), ('基本', 44), ('Photoshop', 43), ('レベル', 43), ('使用', 42), ('業界', 41), ('コーディング', 41), ('ECサイト', 40), ('Excel', 40), ('Webサービス', 40), ('的', 38), ('営業', 37), ('コンテンツ', 37), ('デザイナー', 36), ('2年', 35), ('Illustrator', 33), ('マネジメント', 33), ('改善', 32), ・・・・
5. 高出現キーワードから未経験者がWEBディレクターになる方法を考える
頻度が高くても、キーワードとしては適切でないものがあります。
例えば、経験、方、WEB、実務、以上、等、などは適切ではありません。
これらの名詞を取り除いて、さらに出現回数3回以下の名詞を取り除き、
上位から順に記載してみます。
キーワード | 出現回数 |
---|---|
企画 | 137 |
サイト | 80 |
管理 | 75 |
開発 | 70 |
Webサイト | 66 |
広告 | 64 |
設計 | 62 |
HTML | 61 |
運営 | 60 |
デザイン | 59 |
マーケティング | 58 |
提案 | 58 |
構築 | 52 |
CSS | 48 |
分析 | 47 |
メディア | 46 |
Photoshop | 43 |
コーディング | 41 |
ECサイト | 40 |
Excel | 40 |
Webサービス | 40 |
営業 | 37 |
コンテンツ | 37 |
デザイナー | 36 |
Illustrator | 33 |
マネジメント | 33 |
改善 | 32 |
プロデューサー | 31 |
クライアント | 30 |
英語 | 28 |
折衝 | 28 |
プロジェクト | 27 |
システム | 27 |
広告代理店 | 26 |
データ | 26 |
自社 | 26 |
進行 | 26 |
Word | 26 |
SEO | 26 |
Webマーケティング | 25 |
デジタル | 25 |
UI | 24 |
事業会社 | 24 |
PowerPoint | 24 |
UX | 23 |
ツール | 22 |
エンジニア | 22 |
アプリ | 21 |
アクセス解析 | 19 |
ライティング | 19 |
ビジネス | 19 |
プロモーション | 19 |
解析 | 19 |
プロジェクトマネジメント | 18 |
コミュニケーション能力 | 18 |
クリエイティブ | 17 |
EC | 16 |
ユーザー | 16 |
JavaScript | 16 |
顧客 | 16 |
SNS | 16 |
プランニング | 16 |
16 | |
施策 | 16 |
立案 | 16 |
情報 | 15 |
大規模 | 15 |
デジタルマーケティング | 15 |
事業 | 15 |
媒体 | 15 |
戦略 | 15 |
制作会社 | 15 |
システム開発 | 15 |
数値 | 14 |
中国語 | 14 |
チーム | 13 |
課題解決 | 13 |
課題 | 13 |
コミュニケーション | 13 |
CMS | 13 |
要件定義 | 12 |
自信 | 12 |
プロダクト | 12 |
策定 | 12 |
プロデュース | 12 |
プランナー | 12 |
スマートフォン | 12 |
普通自動車 | 11 |
ゲーム | 11 |
企画書 | 11 |
フロント | 10 |
ソフト | 10 |
フロントエンド | 10 |
英語力 | 10 |
Webデザイン | 10 |
実装 | 9 |
リスティング広告 | 9 |
WEB制作 | 9 |
受託 | 9 |
コンサルティング | 9 |
資料 | 9 |
集計 | 9 |
リスティング | 9 |
ワイヤーフレーム | 9 |
Dreamweaver | 9 |
Web制作会社 | 9 |
推進 | 8 |
商品 | 8 |
記事 | 8 |
予算 | 8 |
コミュニケーションスキル | 8 |
責任感 | 8 |
第一種 | 8 |
免許 | 8 |
ベース | 8 |
スマートフォンアプリ | 8 |
勤務 | 8 |
関心 | 8 |
テスト | 8 |
代理店 | 8 |
女性向け | 8 |
プレゼンテーション | 8 |
IA | 8 |
アパレル | 8 |
サイド | 7 |
ソリューション | 7 |
外注 | 7 |
規模 | 7 |
検証 | 7 |
効果測定 | 7 |
文章 | 7 |
PHP | 7 |
挑戦 | 7 |
プロジェクトマネージャー | 7 |
社内外 | 7 |
集客 | 7 |
中規模 | 7 |
キャンペーン | 7 |
販促 | 7 |
リーダー | 6 |
ネット | 6 |
大手 | 6 |
バナー | 6 |
社会人 | 6 |
デジタルコンテンツ | 6 |
映像 | 6 |
調整 | 6 |
連携 | 6 |
化粧品 | 6 |
トレンド | 6 |
Javascript | 6 |
Adobe | 6 |
工数 | 6 |
美容 | 6 |
オンライン | 6 |
校正 | 6 |
社外 | 6 |
パートナー | 6 |
Office | 6 |
SIer | 5 |
LP | 5 |
得意 | 5 |
Java | 5 |
機能 | 5 |
導入 | 5 |
動画 | 5 |
Microsoft | 5 |
制作進行 | 5 |
成果 | 5 |
金融 | 5 |
スケジュール管理 | 5 |
交渉 | 5 |
笑顔 | 5 |
PM | 5 |
雑誌 | 5 |
部門 | 5 |
KPI | 5 |
資格 | 5 |
開発プロジェクト | 5 |
ニーズ | 5 |
画像 | 5 |
PDCA | 5 |
更新 | 5 |
サーバー | 5 |
成長 | 5 |
ベンチャー企業 | 5 |
グラフィック | 5 |
運用型広告 | 5 |
上級 | 5 |
モール | 5 |
ファッション | 5 |
コーダー | 5 |
ライター | 5 |
SEM | 5 |
リニューアル | 5 |
プリセールス | 4 |
納品 | 4 |
効果 | 4 |
論理的 | 4 |
プログラマ | 4 |
言語 | 4 |
計画 | 4 |
コピーライター | 4 |
北京語 | 4 |
広東語 | 4 |
見積もり | 4 |
デジタルメディア | 4 |
ソーシャルメディア | 4 |
GAIQ | 4 |
コミュニケーション力 | 4 |
アナリティクス | 4 |
仕様書 | 4 |
インターネット広告 | 4 |
プロセス | 4 |
改修 | 4 |
出版社 | 4 |
フロー | 4 |
海外 | 4 |
メール | 4 |
プロトタイピング | 4 |
マークアップ | 4 |
ビジュアルデザイン | 4 |
品質管理 | 4 |
ログ | 4 |
ネイティブアプリ | 4 |
抽出 | 4 |
社内 | 4 |
チームリーダー | 4 |
考慮 | 4 |
周囲 | 4 |
法人 | 4 |
WEBデザイナー | 4 |
スマホアプリ | 4 |
マネージメント | 4 |
JS | 4 |
HTML5 | 4 |
CSS3 | 4 |
情報構造 | 4 |
アドネットワーク | 4 |
これらの頻出キーワードから未経験者がWEBディレクターになる方法を私なりに考えて見た結果が、以下の結論となります。
結論
以上のことから、WEBディレクターに必要なものは以下であると考察しました。
技術要件
- 最低でもHTML, CSS, JavaScriptを理解していること
- Excel, Word, PowerPoint等は資料作成の上で必須
- PHPを理解していればプログラマとの連携においてより効果的
- CMSの構造について理解していること
- GoogleAnalytics, Illustrator, Photoshop, Dreamweaver等の有名ツールは利用できること
行動要件
- バナーやLPレベルは自作できること
- 企画書、ワイヤーフレームを作成、プレゼンできること
- ライティング、UI/UX改善、SEO最適化やリスティング広告、アクセス解析、ソーシャルメディア、動画等を通じてPDCAを回せること
- 営業としてクライアントとの折衝できること
有利になる業界知識
- ECサイト
- ゲーム
- アパレル
- 化粧品
- 美容
- その他女性向け商材
有効な資格
- GAIQ
- ウェブ解析士
その他
- 広告代理店等の業務知識
- 英語、中国語
- 情報アーキテクチャ知識
結論
これをもとに、未経験者がWEBディレクターになるための私が良いんじゃないかと考える方法は以下になります。
- 上記業界に関連するWEBサイトや今いる会社でオウンドメディアをWordPressで自力で立ち上げる
- 自作バナーでアフィリエイト広告を設置
- サイトPVやアフィリエイトコンバージョンを上げる施作を打つ(具体的には記事を増やしたり、動画を用いたり、SEO最適化させたり、SNSで拡散、リスティング広告、小規模サテライトサイトもしくはLP作成など)
- GoogleAnalytics等でアクセス解析で効果検証し、PDCAを回す
- 成功失敗とわず施作や成果を説明する資料グラフ等を作成してWEB公開
- 習得したノウハウをWEB公開
- 上記実績をもとに、他人のサイトを無償でエンハンスし、さらに実績とする
- 一応、GAIQやウェブ解析士あたりの資格も取っておく