Mutaties vacatures websites bijhouden
Heeft iemand een tool/script, waarmee ik dagelijks in 1 keer kan signaleren of veranderingen zijn op de vacaturetabs van de gewenste websites?
Vast ontzettend veel dank voor diegene die mij hieraan helpt.
n.b. Een tijd geleden heb ik een script op de kop getikt waarmee ik de mutatie voor een enkel adres kan bijhouden. Ik heb niet de kennis/kunde om dit om te zetten, zodat meerdere adressen gescanned kunnen worden. Wellicht is het script bruikbaar voor de geboden oplossing.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
date_default_timezone_set( 'Europe/Amsterdam' );
$url = 'http://www.google.nl';
$filename = dirname( __FILE__ ) . '/modified.txt';
$cURL = curl_init();
// geef de url op
curl_setopt( $cURL, CURLOPT_URL, $url );
// alleen de headers ophalen
curl_setopt( $cURL, CURLOPT_NOBODY, true );
// haal het moment van laatste aanpassing op
curl_setopt( $cURL, CURLOPT_FILETIME, true );
// geef het resultaat terug
curl_setopt( $cURL, CURLOPT_RETURNTRANSFER, true );
curl_exec( $cURL );
$headers = curl_getinfo( $cURL );
curl_close( $cURL );
/*
echo '<pre>' . print_r( $headers, true ) . '</pre>
<hr />';
*/
if ( isset( $headers['filetime'] ) )
{
$data = is_readable( $filename ) ? file_get_contents( $filename ) : '';
if ( $data == $headers['filetime'] )
{
echo '<p>Er zijn geen wijzigingen geweest in http://www.google.nl</p>';
}
else
{
echo '<p>Er zijn wijzigingen geweest in http://www.google.nl</p>';
if ( file_put_contents( $filename, $headers['filetime'] ) )
{
echo '<p>Het bestand is succesvol geüpdate</p>';
}
}
echo '<p>Last-Modified: ' . date( 'r', $headers['filetime'] ) . '</p>';
}
?>
date_default_timezone_set( 'Europe/Amsterdam' );
$url = 'http://www.google.nl';
$filename = dirname( __FILE__ ) . '/modified.txt';
$cURL = curl_init();
// geef de url op
curl_setopt( $cURL, CURLOPT_URL, $url );
// alleen de headers ophalen
curl_setopt( $cURL, CURLOPT_NOBODY, true );
// haal het moment van laatste aanpassing op
curl_setopt( $cURL, CURLOPT_FILETIME, true );
// geef het resultaat terug
curl_setopt( $cURL, CURLOPT_RETURNTRANSFER, true );
curl_exec( $cURL );
$headers = curl_getinfo( $cURL );
curl_close( $cURL );
/*
echo '<pre>' . print_r( $headers, true ) . '</pre>
<hr />';
*/
if ( isset( $headers['filetime'] ) )
{
$data = is_readable( $filename ) ? file_get_contents( $filename ) : '';
if ( $data == $headers['filetime'] )
{
echo '<p>Er zijn geen wijzigingen geweest in http://www.google.nl</p>';
}
else
{
echo '<p>Er zijn wijzigingen geweest in http://www.google.nl</p>';
if ( file_put_contents( $filename, $headers['filetime'] ) )
{
echo '<p>Het bestand is succesvol geüpdate</p>';
}
}
echo '<p>Last-Modified: ' . date( 'r', $headers['filetime'] ) . '</p>';
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
date_default_timezone_set( 'Europe/Amsterdam' );
$urls = array('http://www.google.nl', 'http://youtube.nl/');// hier in dit formaat meerdere toevoegen
foreach ($urls as $url) {
$filename = dirname( __FILE__ ) . '/'.preg_replace('#[^a-zA-Z]{1,}#', '', $url).'_modified.txt';
$cURL = curl_init();
// geef de url op
curl_setopt( $cURL, CURLOPT_URL, $url );
// alleen de headers ophalen
curl_setopt( $cURL, CURLOPT_NOBODY, true );
// haal het moment van laatste aanpassing op
curl_setopt( $cURL, CURLOPT_FILETIME, true );
// geef het resultaat terug
curl_setopt( $cURL, CURLOPT_RETURNTRANSFER, true );
curl_exec( $cURL );
$headers = curl_getinfo( $cURL );
curl_close( $cURL );
/*
echo '<pre>' . print_r( $headers, true ) . '</pre>
<hr />';
*/
if ( isset( $headers['filetime'] ) )
{
$data = is_readable( $filename ) ? file_get_contents( $filename ) : '';
if ( $data == $headers['filetime'] )
{
echo '<p>Er zijn geen wijzigingen geweest in '.$url.'</p>';
}
else
{
echo '<p>Er zijn wijzigingen geweest in '.$url.'</p>';
if ( file_put_contents( $filename, $headers['filetime'] ) )
{
echo '<p>Het bestand is succesvol geüpdate</p>';
}
}
echo '<p>Last-Modified: ' . date( 'r', $headers['filetime'] ) . '</p>';
}
}
?>
date_default_timezone_set( 'Europe/Amsterdam' );
$urls = array('http://www.google.nl', 'http://youtube.nl/');// hier in dit formaat meerdere toevoegen
foreach ($urls as $url) {
$filename = dirname( __FILE__ ) . '/'.preg_replace('#[^a-zA-Z]{1,}#', '', $url).'_modified.txt';
$cURL = curl_init();
// geef de url op
curl_setopt( $cURL, CURLOPT_URL, $url );
// alleen de headers ophalen
curl_setopt( $cURL, CURLOPT_NOBODY, true );
// haal het moment van laatste aanpassing op
curl_setopt( $cURL, CURLOPT_FILETIME, true );
// geef het resultaat terug
curl_setopt( $cURL, CURLOPT_RETURNTRANSFER, true );
curl_exec( $cURL );
$headers = curl_getinfo( $cURL );
curl_close( $cURL );
/*
echo '<pre>' . print_r( $headers, true ) . '</pre>
<hr />';
*/
if ( isset( $headers['filetime'] ) )
{
$data = is_readable( $filename ) ? file_get_contents( $filename ) : '';
if ( $data == $headers['filetime'] )
{
echo '<p>Er zijn geen wijzigingen geweest in '.$url.'</p>';
}
else
{
echo '<p>Er zijn wijzigingen geweest in '.$url.'</p>';
if ( file_put_contents( $filename, $headers['filetime'] ) )
{
echo '<p>Het bestand is succesvol geüpdate</p>';
}
}
echo '<p>Last-Modified: ' . date( 'r', $headers['filetime'] ) . '</p>';
}
}
?>
Gewijzigd op 11/09/2011 18:18:01 door Jacco Brandt
Bedankt voor de snelle reactie.
Toevoeging op 11/09/2011 21:58:53:
Op het eerste oog doet dit wat ik zoek.
Bedankt voor de snelle reactie.
In de tool staan nu zo'n 40 bedrijven en het script stopt na 30 seconden, waarbij de laatste bedrijven niet gescanned worden. DE volgende melding verschijnt:
Maximum execution time of 30 seconds exceeded
Iemand een suggestie hoe hier mee om te gaan. (het is geen optie voor mij om 20 losse php scripts handmatig te draaien. Ik wil het verwerkt hebben in 1 script)
Hoor graag reacie.
Groet,
Alex
De maximum execution time kun je aanpassen (verlengen) in je php.ini
Ik been een php leek, dus ..... waar vind ik die php.ini?
In de map waar php geinstalleerd is.
Of doe phpinfo() in een script en dan staat ergens de lokatie van het .ini bestand.
Moet in deze map dan een php.ini bestand aanmaken om de execution time te kunnen verlengen?
Gewijzigd op 22/09/2011 13:59:26 door Alex Been
set_time_limit(60); // 1 minuut
Is er een manier om een php script los te koppelen van een server en het te draaien vanaf je harde schijf?
Ik ben bezig met een verdienmodel met een script. Participanten in kennis zijn welkom.
heb je externe toegang tot je database?
set_time_limit() kan je gewoon in het begin van je script zetten;)
Victor - op 22/09/2011 15:08:32:
set_time_limit() kan je gewoon in het begin van je script zetten;)
de host kan die functie uitgeschakeld hebben
Toevoeging op 22/09/2011 15:37:17:
Alex Been op 22/09/2011 14:27:40:
Mijn host geeft aan de php.ini tijd niet op te willen rekken.
Is er een manier om een php script los te koppelen van een server en het te draaien vanaf je harde schijf?
Is er een manier om een php script los te koppelen van een server en het te draaien vanaf je harde schijf?
Ja dat kan, je kan php op je pc instaleren en dan scripts executen via CLI,
e.g. in windows omgevingen: (pad naar php)php.exe -q "volledig pad naar je script"
Op die manier kun je dus met tasksheduler op bepaalde tijdstippen een script uitvoeren.
Gewijzigd op 22/09/2011 15:40:59 door Ger van Steenderen