Ich wollte Statistiken über die Anzahl der Jobs nach Region und die Anzahl der Jobs nach Job in Jobwechselaktivitäten ausgeben, deshalb habe ich ein Skript erstellt, das für Statistiken verwendet werden kann.
Senden Sie eine Abfrage und Region an Indeed.com, extrahieren Sie die Anzahl der Suchergebnisse aus den empfangenen Ergebnissen und zeigen Sie sie an. Verwenden Sie urllib, re und bs4.
jobcounter.py
import urllib.request, urllib.parse
from bs4 import BeautifulSoup
import re, getopt, sys
def jobcounter(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_all(id="searchCount")[0].get_text()
result = result.replace(",", "");
result = re.sub(r'Ergebnisse der Jobsuche([0-9]+) .*$', r'\1', result);
return(result)
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(jobcounter(query, location))
if __name__ == "__main__":
main()
Führen Sie den folgenden Befehl aus.
$ python jobcounter.py -q Programmierer-l Shibuya
Das Ausführungsergebnis ist wie folgt.
result.
1740
Dieses Ergebnis bedeutet, dass "1740" als Ergebnis der Suche nach Jobs einschließlich "Programmierer" im Bereich "Shibuya" gefunden wurden.
Die Hauptverwendung besteht darin, Statistiken wie "wie viele Jobs für jede Jobkategorie in einem bestimmten Bereich verfügbar sind" und "wie viele Jobs für jede Jobkategorie in einem bestimmten Bereich verfügbar sind" zu erhalten. Kann verwendet werden.
jobcounter(query, location)
Ich habe eine leicht verständliche Funktion erstellt. Sie müssen also nur die Abfrage und die Region in einer Schleife mit einem Array oder yaml übergeben. Der Rückgabewert ist die Anzahl der Fälle.
urllib und re sollten ursprünglich enthalten sein, aber bs4 muss in pip enthalten sein.
# pip install bs4
Wenn Sie das Erscheinungsbild, den Wortlaut oder den HTML-Code auf der Seite von idead.com ändern, funktioniert dies möglicherweise nicht mehr. Insbesondere gibt es ein HTML-Element, das durch die ID "searchCount" definiert ist. Wenn dieser ID-Name jedoch geändert wird, kann er nicht abgerufen werden. Da der Text in searchCount mit re formatiert ist, wird er alternativ nicht richtig formatiert, wenn der Text nicht mit dem regulären Ausdruck übereinstimmt.
Web Scraping ist das Extrahieren von Informationen von einer Website, und dieses Skript ist auch eine Art von Web Scraping. Es gibt eine UNIX-Philosophie, "eine Sache gut zu machen", und das obige Skript basiert im Allgemeinen auf dieser Idee.
Es hat keine spektakuläre Funktion, aber es ist eine gute Funktion, um Statistiken über die Anzahl der Jobs zu erhalten. Das Skript selbst ist nicht kompliziert und jeder kann es verstehen.
Recommended Posts