search
LoginSignup
21

More than 1 year has passed since last update.

posted at

updated at

スクレイピングを勉強したので、未経験者がWEBディレクターになる方法をデータドリブンで考察してみた

背景

以前、IT業界1年未満のエンジニアに紹介したいキャリアアップケース5選を書いたところ、
WEBディレクターになるにはどうしたらよいかもう少し深く突っ込んでほしいという声をいただきました。

そこで、スクレイピングを勉強し、未経験者がWEBディレクターになる方法をデータドリブンで考察してみました。
(この本で勉強→Pythonによるスクレイピング&機械学習 開発テクニック、著者:クジラ飛行机

いきなり結論

少々手順が長くなるので、先に結論を記載します。
未経験者がWEBディレクターになるための私が良いんじゃないかと考える方法は以下になります。

  • コスメ、アパレルなどの女性向け業界に関連するWEBサイトや、今いる会社でオウンドメディアをWordPressで自力で立ち上げる
  • 自作バナーでアフィリエイト広告を設置
  • サイトPVやアフィリエイトコンバージョンを上げる施作を打つ(具体的には記事を増やしたり、動画を用いたり、SEO最適化させたり、SNSで拡散、リスティング広告、小規模サテライトサイトもしくはLP作成など)
  • GoogleAnalytics等でアクセス解析で効果検証し、PDCAを回す
  • 成功失敗とわず施作や成果を説明する資料グラフ等を作成してWEB公開
  • 習得したノウハウをWEB公開
  • 上記実績をもとに、他人のサイトを無償でエンハンスし、さらに実績とする
  • 一応、GAIQやウェブ解析士あたりの資格も取っておく

では興味あるかただけ、以下ここにたどり着いた経緯をご覧ください。

大まかな方針

まず、大まかな方針を立てました。

  1. WEBディレクターになるための情報を集める
  2. その情報をスクレイピングする
  3. スクレイピングした文字を形態素解析して名詞だけ抜き出す
  4. 名詞の出現頻度順に並べる
  5. 高出現キーワードから未経験者がWEBディレクターになる方法を考える

では早速行ってみましょう。

1. WEBディレクターになるための情報を集める

まずはなんといっても情報を集めなければなりません。
WEBディレクターになるための情報は求人サイトにたくさん載っていますよね。

数ある求人サイトからどれを選ぶか?
後に行うスクレイピングしやすいサイト、つまり規則正しく必須スキルの記載のある求人サイトを選ぶことが理想です。

そんなこんなで、某求人サイトにターゲットを絞りました。

2. その情報をスクレイピングする

では次は、その某求人サイトでWEBディレクターというキーワードでサイト内検索してみます。
すると出てくるわ出てくるわ。。

まずはWEBディレクターを募集している企業サイトのURLを抽出することにしました。
完成したのは以下のコードです。

get_company_url.py
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でうまく分割するというコードです。

get_skills.py
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形態素解析し、名詞だけ取り出します。
完成したコードはこちらになります。

get_keywords.py
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. 名詞の出現頻度順に並べる

この名詞群を出現頻度順に表示させます。

sort.py
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
Google 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やウェブ解析士あたりの資格も取っておく

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
21