Ich suchte nach den Fähigkeiten, die erforderlich sind, um Webingenieur bei Python zu werden

Einführung

Ich habe mit Python eine Jobwechsel-Site durchsucht und kurz "notwendige Fähigkeiten" untersucht. Da ich Ingenieur werden möchte, habe ich mich gefragt, welche Anforderungen tatsächlich auf der Website für Jobwechsel gestellt werden.

Ideen und Implementierungen Ich habe gelernt, wie man ein Web Director für unerfahrene Personen wird. Ich habe den Artikel von , den ich datengesteuert betrachtet habe, als Referenz genommen.

Bitte weisen Sie auf Fehler und kleine Fehler hin!

Erforderlicher Skill-Abschluss

Für diejenigen, die nur die Ergebnisse sehen wollen

--Verbreitet

--Serverseite

Es macht mir nichts aus, von der Mitte aus chaotisch zu werden.

Ist es das erwartete Ergebnis?

Dann zum Inhalt.

Umwelt & Bauordnung

--Umgebung

--Referenz

Sammeln von Informationen von Websites für Jobwechsel

Scraping → Die Implementierung der morphologischen Analyse erfolgt im Allgemeinen wie in Referenzartikel gezeigt und wird daher weggelassen. Der Ablauf besteht darin, die Job-URL für jeden Job abzurufen → die URL zu öffnen und den erforderlichen Skill-Teil abzurufen → die Häufigkeit für jedes Substantiv durch morphologische Analyse zu berechnen. Scraping mit Python und Beautiful Soup und <a href = "https: / /www.crummy.com/software/BeautifulSoup/bs4/doc/ "rel =" nofollow noopener "target =" _ blank "> Offizielles Dokument wurde ebenfalls erwähnt.

Besonders kratzen ・ Schlafen Sie, bevor Sie die Seite öffnen ・ Überprüfen Sie das Verbot, indem Sie sich robots.txt ansehen Seien wir vorsichtig.

Die Anzahl der erworbenen Jobs beträgt Frontend: 208 Fälle Serverseite: 181 Fälle Spiele: 175 war

Analyse

Klicken Sie hier, um den für die Analyse verwendeten Code anzuzeigen.

analysis_job_search.py


import MeCab
import pandas as pd
import numpy as np
import mysql.connector as mydb
import pandas.io.sql as psql
import collections

pd.set_option('display.max_rows', 500)

#Methode zum Extrahieren der Nomenklatur aus dem Text
def devide_by_mecab(text):
    tagger = MeCab.Tagger("-Ochasen")
    node = tagger.parseToNode(text)
    word_list = []
    while node:
        pos = node.feature.split(",")[0]
        if pos in ["Substantiv"]:
            word = node.surface
            word_list.append(word)
        node = node.next
    return "  ".join(word_list)

#Stellen Sie hier eine Verbindung zu den persönlichen MySQL-Einstellungen her
connection = mydb.connect(
  host = '',
  port = '',
  user = '',
  password = '',
  database = ''
)

#Daten aus der DB abrufen
df_frontend = psql.read_sql("SELECT * FROM table WHERE search_word = 'Vorderes Ende'",connection)
df_serverside = psql.read_sql("SELECT * FROM table WHERE search_word = 'Serverseite'",connection)
df_game = psql.read_sql("SELECT * FROM table WHERE search_word = 'Spielprogrammierer'",connection)

#need_Eine Methode, die Fähigkeiten in Nomenklaturen zerlegt und zurückgibt
def get_all_words(df):
    all_words = []
    for index, row in df.iterrows():
        words = devide_by_mecab(row['need_skills']).split()
        all_words.extend(words)
    return all_words

count_of_words_frontend = collections.Counter(get_all_words(df_frontend))
count_of_words_serverside = collections.Counter(get_all_words(df_serverside))
count_of_words_game = collections.Counter(get_all_words(df_game))

#Alle Nomenklaturen in der Reihenfolge ihrer Häufigkeit anzeigen
count_of_words_frontend.most_common()
count_of_words_serverside.most_common()
count_of_words_game.most_common()

#Anordnung von Wörtern in Bezug auf Fähigkeiten(count >= 6)
frontend_top_words = ['JavaScript', 'CSS', 'HTML', 'js', 'Vue', 'React', 'Design', 'Mannschaft', 'Git', 'UI', 'PHP', 'UX', 'Angular', 'Ruby', 'Javascript', 'jQuery', 'Photoshop', 'Kommunikation', 'API', 'TypeScript', 'SPA', 'Java', 'Sass', 'Designer', 'Illustrator', 'JS', 'Prüfung', 'Server', 'webpack', 'GitHub', 'AWS', 'AngularJS', 'WordPress', 'Webpack', 'Rails', 'iOS', 'CMS', 'Python', 'Redux', 'MySQL', 'Gulp', 'Android', 'gulp', 'C', 'SCSS', 'git', 'DB', 'Linux', 'Babel', 'Docker', 'CI']
serverside_top_words = ['Ruby', 'PHP', 'AWS', 'Python', 'C', 'Java', 'Server', 'Rails', 'Mannschaft', 'Infrastruktur', 'js', 'Git', 'Server', 'Android', 'JavaScript', 'Go', 'Linux', 'Perl', 'HTML', 'MySQL', 'RDBMS', 'CSS', 'Kura', 'Du tust', 'API', 'Vorderseite', 'Management', 'GitHub', 'iOS', 'DB', 'GCP', 'React', 'Vue', 'Netzwerk', 'Node', 'HTTP', 'Swift', 'CI', 'Objective', 'Docker', 'Sicherheit', 'Javascript', 'Azure', 'einheimisch', 'PostgreSQL', 'die Architektur', 'SQL', 'Prüfung', '#', 'Clever', 'Telefon', 'UI', 'MVC', 'Kommunikation', 'git', 'Scala', 'Kotlin' , 'CD', 'Datenbank', 'TypeScript', 'Apache', 'LAMP', 'Designer', 'Container', 'RDB', 'Laravel']
game_top_words = ['C', '3', 'D', 'Unity', 'Java', 'PHP', 'Design', '++', 'Server', '++、', 'Netzwerk', 'JavaScript', 'Android', 'Management', '#、', 'Objective', 'Photoshop', 'Maya', 'Mannschaft', 'Designer', 'Linux', 'MySQL', 'Ruby', 'Python', 'Infrastruktur', '#', 'Grafik', 'Server', 'Excel', 'Grafik', 'Kommunikation', 'Unreal', 'DCG', 'AWS', 'Perl', 'Illustrator', 'Engine', 'Planer', 'Word', 'einheimisch', 'Bewegung', 'Direktor', 'HTML', 'UI', 'Flash', 'bewirken', 'VB', 'Klang', 'DS', 'OpenGL', 'iOS', 'DirectX']

#Eine Methode zum Erstellen eines DataFrame aus Wörtern und Vorkommen
def get_top_word_df(top_words,count_of_words):
    df = pd.DataFrame({})
    for i,word in enumerate(top_words):
        word_data = pd.Series([word,count_of_words[word]], index=['word','count'], name=i)
        df = df.append(word_data)
    return df

df_frontend_top_words =  get_top_word_df(frontend_top_words,count_of_words_frontend)
df_serverside_top_words =  get_top_word_df(serverside_top_words,count_of_words_serverside)
df_game_top_words =  get_top_word_df(game_top_words,count_of_words_game)

for df in [df_frontend_top_words,df_serverside_top_words,df_game_top_words]:
    df['rank'] = df['count'].rank(ascending = False, method = 'min').astype(int)
    df['count'] = df['count'].astype(int)

df_frontend_top_words[['rank','word','count']]
df_serverside_top_words[['rank','word','count']]
df_game_top_words[['rank','word','count']]

Zunächst werden alle Wörter in der Reihenfolge ihrer Häufigkeit ausgegeben, und die Wörter, die nicht mit der Fertigkeit in Zusammenhang zu stehen scheinen, werden manuell entfernt und erneut ausgegeben. Ich habe es hinzugefügt, weil der Spielprogrammierer persönlich interessiert war.

Das Ergebnis ist wie folgt.

Vorderes Ende

rank word count
1 JavaScript 147
2 CSS 145
3 HTML 131
4 js 72
5 Vue 63
5 React 63
7 Design 60
8 Mannschaft 40
9 Git 34
9 UI 34
11 PHP 31
12 UX 30
13 Angular 29
14 Ruby 23
15 Javascript 21
16 jQuery 20
16 Photoshop 20
18 Kommunikation 18
18 API 18
18 TypeScript 18
18 SPA 18
22 Java 16
22 Sass 16
24 Designer 15
24 Illustrator 15
24 JS 15
24 Prüfung 15
28 Server 14
29 webpack 13
29 GitHub 13
29 AWS 13
29 AngularJS 13
33 WordPress 12
33 Webpack 12
33 Rails 12
36 iOS 11
36 CMS 11
36 Python 11
36 Redux 11
40 MySQL 10
40 Gulp 10
42 Android 9
42 gulp 9
42 C 9
45 SCSS 8
45 git 8
47 DB 7
47 Linux 7
49 Babel 6
49 Docker 6
49 CI 6

Serverseite

rank word count
1 Ruby 81
2 PHP 67
3 AWS 50
4 Python 43
5 C 42
6 Java 41
7 Server 37
8 Rails 34
9 Mannschaft 33
10 Infrastruktur 31
11 js 29
12 Git 27
12 Server 27
14 Android 26
14 JavaScript 26
14 Go 26
17 Linux 24
17 Perl 24
19 HTML 21
19 MySQL 21
19 RDBMS 21
22 CSS 19
23 Kura 18
23 Du tust 18
23 API 18
26 Vorderseite 17
26 Management 17
26 GitHub 17
29 iOS 16
30 DB 15
30 GCP 15
30 React 15
33 Vue 14
34 Netzwerk 12
34 Node 12
36 HTTP 11
36 Swift 11
36 CI 11
36 Objective 11
40 Docker 10
40 Sicherheit 10
40 Javascript 10
40 Azure 10
44 einheimisch 9
44 PostgreSQL 9
44 die Architektur 9
44 SQL 9
44 Prüfung 9
49 # 8
49 Clever 8
49 Telefon 8
49 UI 8
49 MVC 8
49 Kommunikation 8
49 git 8
49 Scala 8
57 Kotlin 7
57 CD 7
57 Datenbank 7
57 TypeScript 7
57 Apache 7
57 LAMP 7
63 Designer 6
63 Container 6
63 RDB 6
63 Laravel 6

Spielprogrammierer

rank word count
1 C 156
2 3 62
3 D 49
4 Unity 45
5 Java 32
6 PHP 31
7 Design 29
8 ++ 26
9 Server 22
10 ++、 19
10 Netzwerk 19
12 JavaScript 17
13 Android 15
14 Management 14
15 #、 13
16 Objective 12
16 Photoshop 12
16 Maya 12
19 Mannschaft 11
19 Designer 11
19 Linux 11
19 MySQL 11
19 Ruby 11
19 Python 11
25 Infrastruktur 10
25 # 10
25 Grafik 10
28 Server 9
28 Excel 9
30 Grafik 8
30 Kommunikation 8
30 Unreal 8
30 DCG 8
30 AWS 8
30 Perl 8
36 Illustrator 7
36 Engine 7
36 Planer 7
36 Word 7
36 einheimisch 7
36 Bewegung 7
42 Direktor 6
42 HTML 6
42 UI 6
42 Flash 6
42 bewirken 6
42 VB 6
42 Klang 6
42 DS 6
42 OpenGL 6
42 iOS 6
42 DirectX 6

Ich bin der Meinung, dass die Ergebnisse fast wie erwartet sind.

Ursprünglich sollten dieselben Wörter wie "Javascript", "Javascript" und "Js" richtig benannt werden, aber es schien schwierig zu sein, da es viele Wörter gab, also war ich frustriert.

Fazit

Front-End-Ingenieur: HTML, CSS, Javascript sind hervorragend und es scheint unverzichtbar zu sein. Darüber hinaus besteht der zweite Schritt darin, Frameworks wie Vue und React verwenden zu können und gleichzeitig das Design und UI / UX zu stärken. Danach wäre es gut, das Verständnis auf der Serverseite zu vertiefen.

Serverseitiger Ingenieur: Die Wolke ist unterteilt in "Kura" und "Udo"! …… Leises Gespräch. Es scheint, dass Ruby, PHP, Python und Java die Hauptsprachen sind (ich weiß nicht, welche C ist). Darüber hinaus ist die Wolke auch ein Pflichtfach. Ich möchte auch ein Verständnis der Datenbank, des Netzwerks und der Front-End-Seite. Es scheint viel zu lernen.

Spielprogrammierer: Immerhin ist die Richtung etwas anders und es ist interessant. C ++, C # und Unity, 3D sind die Hauptfelder, und es scheint notwendig zu sein, sich beim Programmieren mit Grafiken vertraut zu machen.

Ich habe wenig Wissen, also kann ich nur etwas wirklich Raues sagen ... orz. Ich würde gerne basierend auf diesem Ergebnis studieren!

Aufgabe

――Da das Wort etwas streng ist, ist die Anzahl der Akquisitionen gering (ca. 200).

das Ende

Ich habe mir die Frequenz nur kurz angesehen, bin aber froh, dass sie auch als Leitfaden für die Bereiche diente, die ich studieren sollte.

Es könnte interessanter sein, auf mehreren Websites zu vergleichen oder eine Querschnittsseite auszuprobieren. Wenn Sie interessiert sind, überprüfen Sie es bitte mit Ihren eigenen Augen!

Recommended Posts

Ich suchte nach den Fähigkeiten, die erforderlich sind, um Webingenieur bei Python zu werden
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
Ich habe ein Skript geschrieben, um Webseiten-Links in Python zu extrahieren
Ich habe mit Python nach einer Primzahl gesucht
Ich habe versucht, ein Gerüstwerkzeug für Python Web Framework Bottle zu erstellen
Ich habe eine Webanwendung in Python erstellt, die Markdown in HTML konvertiert
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Eine Einführung in selbst erstellte Python-Webanwendungen für einen trägen Webingenieur im dritten Jahr
Ich möchte mit Python ein Fenster erstellen
Schritte zum Entwickeln einer Webanwendung in Python
[Python] Ich habe nach dem längsten Pokemon Shiritori gesucht
Ich möchte den Fortschritt in Python anzeigen!
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
Ich möchte eine Variable in einen Python-String einbetten
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
Ich möchte eine Datei mit Python zufällig testen
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Ich möchte R-Datensatz mit Python verwenden
Das Konzept der Referenz in Python brach für einen Moment zusammen, also experimentierte ich ein bisschen.
Ich möchte nur das 95% -Konfidenzintervall des Unterschieds im Bevölkerungsverhältnis in Python ermitteln
[Für Anfänger] Web-Scraping mit Python "Greifen Sie auf die URL auf der Seite zu, um den Inhalt abzurufen."
Machen wir einen Sprung in die Fertigungsindustrie, indem wir zusätzlich zu Python das Web nutzen
Verwendung der Methode __call__ in der Python-Klasse
Ändern Sie das Standardausgabeziel in eine Datei in Python
Eine einfache Möglichkeit, mehrere for-Schleifen in Python zu vermeiden
Ich habe versucht "Wie man eine Methode in Python dekoriert"
Ich wusste nicht, wie ich die [Python] für die Anweisung verwenden sollte
Ich habe versucht, die Mail-Sendefunktion in Python zu implementieren
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich möchte eine schöne Ergänzung zu input () in Python hinzufügen
Ich möchte vorerst eine Docker-Datei erstellen.
Ich habe ein Skript in Python erstellt, um eine Textdatei für JSON zu konvertieren (für das vscode-Benutzer-Snippet).
Ich habe eine Klasse erstellt, um das Analyseergebnis von MeCab in ndarray mit Python zu erhalten
Ich habe auch versucht, die Funktionsmonade und die Zustandsmonade mit dem Generator in Python nachzuahmen
"Buch, um die Programmierfähigkeit zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel - 1,8 "0" -Matrix
Ich schrieb einen Test in "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren".
Im Python-Befehl zeigt Python auf Python3.8
Klicken Sie auf die Web-API in Python
Ich habe die Warteschlange in Python geschrieben
Ich habe den Stack in Python geschrieben
So bestimmen Sie die Existenz eines Selenelements in Python
Ich habe eine Python-Bibliothek erstellt, um die API von LINE WORKS aufzurufen
So überprüfen Sie die Speichergröße einer Variablen in Python
Ich habe den Code geschrieben, um den Brainf * ck-Code in Python zu schreiben
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Ich habe eine Funktion zum Laden des Git-Erweiterungsskripts in Python geschrieben
Ich habe versucht, ein missverstandenes Gefangenendilemma in Python zu implementieren
Ich wollte das ABC164 A ~ D-Problem mit Python lösen
Ich habe den Befehl gegeben, einen farbenfrohen Kalender im Terminal anzuzeigen
Beispiel für eine Python-Codelösung --1.6 Komprimierung von Zeichenketten
Führen Sie den Ausgabecode auf dem lokalen Webserver in Python als "A, gibt vor, B zu sein" aus
"Buch, um Programmierkenntnisse zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel --1.5 One-Shot-Konvertierung
Python-Code Lösungsbeispiel --1.7 Matrixrotation
Schlafverarbeitung für einen bestimmten Zeitraum (Sekunden) oder länger in Python
"Ein Buch zum Trainieren von Programmierkenntnissen für den Kampf in der Welt" Beispiel für eine Python-Codelösung --2.8 Schleifenerkennung
Ich habe versucht, den Unterschied zwischen A + = B und A = A + B in Python herauszufinden
Ich habe eine Funktion erstellt, um zu überprüfen, ob der Webhook vorerst in Lambda empfangen wird