[PYTHON] Holen Sie sich das durchschnittliche Gehalt eines Jobs mit bestimmten Bedingungen von Indeed.com

Indeed.com hat einen Artikel, der das Gehaltsniveau und die Anzahl der Fälle anzeigt. Verwenden Sie diesen Punkt, um das Durchschnittsgehalt zu berechnen.

Code

avgsalary.py


import urllib.request, urllib.parse
from bs4 import BeautifulSoup
import re, getopt, sys
import numpy as np


def avgsalary(query, location):
    query = urllib.parse.quote_plus(query)
    location = urllib.parse.quote_plus(location)
    url = "https://jp.indeed.com/%E6%B1%82%E4%BA%BA?q={}&l={}&radius=0".format(query, location)
            
    request = urllib.request.urlopen(url);
    soup = BeautifulSoup(request.read(), 'html.parser')
    result = soup.find(id="SALARY_rbo")
    results = result.find_all("li")
    salaries = []
    num_salaries = []
    for result in results:
        tmp  = result.a["title"]
        tmp = re.sub(',','', tmp)
        tmp = re.sub(r'([0-9]+)[^\d]+([0-9]+).*$', r'\1,\2', tmp);
        tmp = tmp.split(",")
        salaries.append(tmp[0])
        num_salaries.append(tmp[1])
    salaries = np.array(salaries).astype(np.float)
    salaries *= 10000
    num_salaries = np.array(num_salaries).astype(np.float)
    return(np.sum(salaries * num_salaries)/np.sum(num_salaries))

def main():

    try:  
        opts, args = getopt.getopt(sys.argv[1:],"q:l:", ["query", "location"]);
    except getout.GetoptError as err:
        #usage()
        sys.exit(2)

    query = ""
    location = ""
    for o, a in opts:
        if o == "-q":
            query = a
        elif o == "-l":
            location = a

    print(avgsalary(query, location))

if __name__ == "__main__":
    main()

Lauf

$ python avgsalary.py -l Gotenba
2312722.94887

Erläuterung

Dieser Code führt Folgendes aus:

  1. Holen Sie sich Gehalt und Anzahl der Fälle mit Beautiful Soup.
  2. Speichern Sie Gehalt und Nummer in numpy Array.
  3. Berechnen Sie den Durchschnitt. Die Ausgabe ist das jährliche Einkommen.

Spezifisches Beispiel

Zum Beispiel ist der folgende Vergleich interessant.

$ python avgsalary.py -q programmer
4469298.24561
$ python avgsalary.py -q Programmierer
3116876.47306

Dieser Vergleich bedeutet im Allgemeinen die Differenz des Jahreseinkommens zwischen "englischen Jobs" und "japanischen Jobs". Sie können sehen, wie wichtig Englisch ist, wenn man bedenkt, dass englische Jobs ein höheres Jahreseinkommen von mehr als 1 Million haben. Übrigens, wenn Sie die US-Version von Indeed.com verwenden, können Sie sehen, dass das durchschnittliche Gehalt amerikanischer Programmierer über 7 Millionen Yen liegt.

Recommended Posts

Holen Sie sich das durchschnittliche Gehalt eines Jobs mit bestimmten Bedingungen von Indeed.com
Ein Python-Skript, das die Anzahl der Jobs für eine bestimmte Bedingung von Indeed.com abruft
Holen Sie sich die ID einer GPU mit geringer Speichernutzung
Holen Sie sich UNIXTIME zu Beginn des heutigen Tages mit einem Befehl
[Python] Ruft das Aktualisierungsdatum eines Nachrichtenartikels aus HTML ab
Rufen Sie die URL des von der Jira-Python-Bibliothek erstellten JIRA-Tickets ab
Tipps: [Python] Berechnen Sie den Durchschnittswert des angegebenen Bereichs mit Bedgraph
Holen Sie sich OCTA-Simulationsbedingungen aus einer Datei und speichern Sie sie mit Pandas
Holen Sie sich den letzten Tag des angegebenen Monats
Holen Sie sich den Dateinamen des Verzeichnisses (glob)
Extrahieren Sie mit Python Zeilen, die den Bedingungen entsprechen, aus einer Textdatei
Rufen Sie die Paketliste des angegebenen Benutzers aus den in PyPI registrierten Paketen ab
Holen Sie sich den Inhalt von Git Diff aus Python
Holen Sie sich den Aufrufer einer Funktion in Python
Holen Sie sich eine Liste der IAM-Benutzer mit Boto3
SSH-Anmeldung am Zielserver von Windows mit einem Klick auf eine Verknüpfung
Holen Sie sich mit Python den Aktienkurs eines japanischen Unternehmens und erstellen Sie eine Grafik
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Ich möchte einen Slack-Bot, der das Gehalt eines Teilzeitjobs aus dem Zeitplan von Google Kalender berechnet und anzeigt!
Ermitteln Sie die n-kleinste Zahl aus dem Array mit O (logN) mithilfe eines Segmentbaums
Ruft den Variablennamen der Variablen als Zeichenfolge ab.
Berechnen Sie das Volumen aus der zweidimensionalen Struktur einer Verbindung
Lerne Nim mit Python (ab Anfang des Jahres).
[Python] Ruft den Gesetzestext aus der e-GOV-Gesetz-API ab
Berechnen Sie den Gesamtwert mehrerer Spalten mit awk
Machen Sie LCD-Screenshots mit Python-LEGO Mindstorms
Holen Sie sich den Rückkehrcode eines Python-Skripts von bat
Python zeigt aus der Perspektive eines C-Sprachprogrammierers
Versuchen Sie, den Inhalt von Word mit Golang zu erhalten
Visualisieren Sie das charakteristische Vokabular eines Dokuments mit D3.js.
Holen Sie sich mit Python den Betriebsstatus von JR West
Berechnen Sie das Produkt von Matrizen mit einem Zeichenausdruck?
Ruft den Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
Holen Sie sich den Kauf- und Verkaufspreis der virtuellen Währung mit der API von Zaif Exchange und erstellen Sie ein Diagramm
Mit den Daten von COVID-19 wurde ein Netzwerkdiagramm erstellt.
Messen Sie die Wichtigkeit von Features mit einem zufälligen Gesamtstrukturwerkzeug
Greifen Sie über das Ausführungsskript mit einem relativen Pfad auf die Datei zu.
Anders als der Importtyp von Python. Bedeutung von aus A Import B.
Holen Sie sich die Paketversion, um sich bei PyPI von Git zu registrieren
Die Geschichte des Django-Modellfeldes verschwindet aus der Klasse
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Holen Sie sich eine Liste der mit Python + Selen gekauften DMM-E-Books
Erstellen Sie ein Korrelationsdiagramm aus dem Konversationsverlauf von Twitter
So erhalten Sie eine Liste mit Links von einer Seite aus Wikipedia
Analysieren Sie das Themenmodell, mit GensimPy3 Romanautor zu werden
Machen Sie ein BLE-Thermometer und ermitteln Sie die Temperatur mit Pythonista3
Die Geschichte, wie man mit discord.py einen Fragenkasten-Bot erstellt
Rufen Sie den Hostnamen des Host-PCs mit Docker unter Linux ab
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Eine Geschichte über die Vorhersage von Präfekturen aus Städtenamen mit Jubatus
Verarbeiten Sie den Inhalt der Datei der Reihe nach mit einem Shell-Skript
Eine Geschichte, die mit der Installation der maschinellen Lernbibliothek JAX zusammenhängt
Ermitteln Sie die Anzahl der PVs von Qiita-Artikeln, die Sie mit API veröffentlicht haben
Finden Sie den optimalen Wert der Funktion mit einem genetischen Algorithmus (Teil 2)
[Statistik] Erfassen Sie das Bild der zentralen Polbegrenzungstheorie mit einem Diagramm
[Python, Ruby] Selen-Holen Sie sich Webseiteninhalte mit Webdriver
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
Eine Formel, die einfach das Alter ab dem Geburtsdatum berechnet