Am scris un mic scriptuletz ce primeste la intrare o lista de cuvinte cheie ce sunt cautate pe BestJobs, returnand pentru fiecare cuvant din lista nr. de rezultate al cautarii.
Scriptul e urmatorul:
bestjobs.py
###########
#modul ce calculeaza nr. de locuri de munca de pe BestJobs,
#dupa o anumita lista de cuvinte cheie
import urllib
import string
def rezultate(lista_keywords = ['php', 'java', 'python']):
#functia principala, primeste la intrare o lista de cuvinte cheie
#dupa care se doreste a se face cautarea
#lista_keywords e predefinita cu ['php', 'java', 'python']
for keyword in lista_keywords:
nr_rezultate = compute_result(keyword)
print 'Rezultate dupa cautare %s : %d' %(keyword, nr_rezultate)
def compute_result(keyword):
link = 'http://bestjobs.neogen.ro/?1=1&bj_nl_p=search_job_result&c_keywords=%s' %(keyword)
pagina_rez = open_url(link)
inc_rezultate = string.find(pagina_rez, ' Rezultate:') + len(' Rezultate:')
sf_rezultate = string.find(pagina_rez, 'joburi', inc_rezultate)
nr_rezultate = int(string.strip(pagina_rez[inc_rezultate:sf_rezultate]))
return nr_rezultate
def open_url(url):
text_pagina = ''
try:
file = urllib.urlopen(url)
text_pagina = file.read()
file.close()
except IOError:
print 'Nu am putut deschide ' + url
return text_pagina
if __name__ == '__main__':
rezultate()
E destul de "primitiv", l-am scris intr-o vineri spre sambata noapte, desi aveam alte lucruri mai importante de facut.
Totusi, daca facem
>>> import bestjobs
>>> from bestjobs import rezultate
si apoi
>>> rezultate()
Rezultate dupa cautare php : 135
Rezultate dupa cautare java : 229
Rezultate dupa cautare python : 4
Sunt un pic surprins ca Java a luat fata php-ului asa de mult (aproape dublu), ma bucur ca sunt macar 4 locuri de munca disponibile in python.
Mai ma joc un pic:
>>> rezultate(['j2ee', 'lisp', 'VB', 'zope'])
Rezultate dupa cautare j2ee : 54
Rezultate dupa cautare lisp : 0
Rezultate dupa cautare VB : 69
Rezultate dupa cautare zope : 0
Greu pentru cei ce cauta de lucru bazandu-se pe Lisp sau Zope, j2ee sta bine, VB (de la visual basic) sta mai prost decat ma asteptam.
>>> rezultate(['secretara', 'programator', 'sales%20manager'])
Rezultate dupa cautare secretara : 90
Rezultate dupa cautare programator : 188
Rezultate dupa cautare sales%20manager : 145
Pentru moment programatorii par a le fi luat "fata" sales managerilor, ma intreb pentru cat timp inca.
E tarziu in noapte, chiar am alte lucruri mai importante de facut, asa ca ma opresc aici cu joaca:) Oricine doreste poate imbunati codul de mai sus cum crede de cuviinta, numai sa ne anunte si pe noi ce rezultate a obtinut :)