User Tools

Site Tools


zz_deprecated:infojobs_spider

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
infojobs_spider [2012/02/23 14:58] dodgerzz_deprecated:infojobs_spider [2021/09/22 06:50] (current) – removed dodger
Line 1: Line 1:
-====== Descripcion ====== 
-Este script accede a infojobs basándose en una URL predefinida y recorre los identificadores, enviando únicamente los que no ha sido publicados previamente. 
- 
- 
-====== Instrucciones ====== 
-Para que el script funcione, hay que crear el fichero de configuración, el script buscará en su propio directorio los ficheros *.conf para ejecutarlos todos (multiples búsquedas/usuarios). 
-Para obtener la URL de búsqueda, hay que usar alguna extensión que capture los headers que lanza infojobs cuando se ejecuta la misma y luego cambiar la variable o bien, mirar la página de búsqueda y ver que categorías/subcategorías queremos y añadirlas a la URL. 
-Como variables a tener en cuenta de la URL: 
-^ Variable ^ Descripcion ^ 
-| <code>inicio=1</code> | No tocarla, es la primera página :P | 
-| <code>resultados=1000</code> | Número de resultados que nos muestra la primera página | 
-| <code>subcategoria</code> | Las subcategorías, si se usa un conversor html a ascii se verán los caracteres "normales" | 
- 
-===== Dependencias ===== 
-  * sqlite3 
-  * bash >= 3.0 
-  * wget 
- 
-===== Config File ===== 
-<file config krruke.conf> 
-SEARCHURL='https://www.infojobs.net/jobsearch/search-results/list.xhtml?palabra=&of_area=150&of_pais=17&of_provincia=9&tipo_contrato=0&remuneracion_minima=0&remuneracion_maxima=0&remuneracion_formato=0&antiguedad=2&experiencia=0&ett=true&seleccion=true&inicio=1&inicio=1&&orden=10&poblacion=&nivel_estudios=0&jornada_laboral=0&subcategoria=3114%2C3113%2C3106%2C3107%2C3105%2C3110%2C3111%2C3108%2C3124%2C3109&origen_busqueda=8&origen_accion=4&canal=0&query_id=12573539010&poblacionIdGEO=0&poblacionGEO=&radioGEO=0&upsellings=false' 
-DBFILE="/home/root/jobs_mailer/oyerpes.db" 
-MAIL="krruke@gmail.com" 
-</file> 
- 
-===== Script ===== 
- 
-<file bash jobs_mailer.sh> 
-#!/bin/bash 
- 
-TMPFILE="/tmp/jobs_today_$(date +%s).html" 
-SENDFILE="/tmp/jobs_save_today_$(date +%s).html" 
-OFFERMARK="table_results_offer" 
-INFOTAGS="prefijoPuesto prefijoPoblacion prefijoEmpresa" 
-#AVOIDTHIS="Sant Cugat Del Vall|Sabadell" 
-AVOIDTHIS="monguiland" 
- 
-get_data() 
-{ 
-        #wget -O- -q $SEARCHURL | grep -A 6 "<div class=\"cell-text\">$(date +%d/%m)</div>" > $TMPFILE 
-        local AUXOFFERID="" 
-        local AUXCOMPANY="" 
-        local AUXDESC="" 
-        local AUXURL="" 
-        wget -O- -q $SEARCHURL | grep -A 15 "<div class=\"cell-text\">$(date +%d/%m)</div>" | egrep "${OFFERMARK}" | awk -F\' '{print $4}' | sed "s,',,g" | head -100 | while read AUXOFFERID 
-        do 
-                if [ $(sqlite3 $DBFILE "SELECT count(OFFERID) from offers where OFFERID like '$AUXOFFERID' ;") -eq 0 ] 
-                then 
-                        sqlite3 $DBFILE "INSERT INTO offers (id, OFFERID, is_sent) VALUES(NULL, '$AUXOFFERID', 1)  ;" 
-                fi 
-        done 
-} 
- 
-createdb() 
-{        
-        if ! [ -f $DBFILE ] 
-        then     
-                sqlite3 $DBFILE "create table offers (id INTEGER PRIMARY KEY, OFFERID text, is_sent boolean) ;" 
-        fi 
-} 
- 
-mailer() 
-{ 
-        local let UNSENTJOBS=$(sqlite3 $DBFILE "SELECT count(id) from offers where is_sent=1 ;") 
-        local SENDME="" 
-        if [ ${UNSENTJOBS} -gt 10 ] 
-        then 
-                > $SENDFILE 
-                sqlite3 $DBFILE "SELECT OFFERID from offers where is_sent=1 ;" | while read AUXOFFERID ; do 
-                        echo "http://www.infojobs.net/barcelona/linux/of-i${AUXOFFERID}                       " >> $SENDFILE 
-                        #wget -O- -q "http://www.infojobs.net/barcelona/linux/of-i${AUXOFFERID}" | egrep "${INFOTAGS// /|}"  | awk 'BEGIN{FS = "[<>\"]"} {print $9}' >> $SENDFILE 
-                        SENDME=$(wget -O- -q "http://www.infojobs.net/barcelona/linux/of-i${AUXOFFERID}" | egrep "${INFOTAGS// /|}"  | awk 'BEGIN{FS = "[<>\"]"} {print $9}') 
-                        if [ ! "$(echo "${SENDME}" | egrep "${AVOIDTHIS}")" ]; then 
-                                echo "${SENDME}" >> $SENDFILE 
-                        else 
-                                sqlite3 $DBFILE "UPDATE offers set is_sent=0 where OFFERID LIKE '${AUXOFFERID}' ;" 
-                        fi 
-                done 
-                sqlite3 $DBFILE "UPDATE offers set is_sent=0 where is_sent=1 ;" 
-                cat $SENDFILE | mail -s "Jobs $(date +%Y/%m/%d_%H:%M)" $MAIL 
-        fi 
-} 
-clean_all() 
-{ 
-        for i in $SENDFILE $TMPFILE 
-        do 
-                if [ -f $i ] 
-                then 
-                        rm -f $i 
-                fi 
-        done 
-} 
-for i in $(dirname $0)/*.conf 
-#for i in $(dirname $0)/jholgado-v3.conf 
-do 
-        . $i 
-        createdb 
-        get_data 
-        mailer 
-        clean_all 
-done 
-</file> 
  
zz_deprecated/infojobs_spider.1330009138.txt.gz · Last modified: 2012/02/23 14:58 by dodger