2016-06-16 20 views
0

Ich möchte einen Cronjob machen, der einfach eine Webseite als normalen Browser "besucht". Auf dieser Webseite habe ich ein Skript:Fetch Webseite mit jQuery Post in Crontab

<script> 
var x = 0; 

while(x<10) { 

    setTimeout(
    function() { 

     if ($(".instashow-gallery-media-image img")[0]){ // If image exists 

     var html = $('#instaWrapper').html(); 
     $('#content').val(html); 

     x = 10; // Breaks the loop 

     setTimeout(
     function() { 
      $('#contentSubmit').submit(); 
      }, 2000); // Wait 2 seconds, then submit    

     } else { 
      // Couldn't find the image, trying again 
     } 

     }, 1000); 

     x++; 
    } 
</script> 

Wenn ich eine Locke im Terminal tun, wird die Javascript nicht ausgeführt und die Buchung wird nie passieren. Gibt es eine "Curl", die einen tatsächlichen Besuch wie Chrome, Safari usw. simuliert? Oder kann ich ein PHP- oder Python-Skript schreiben, das ich in meiner Crontab hinzufügen kann?

Danke!

+1

Verwenden Sie etwas wie Selen, um menschliches Verhalten nachzuahmen. – fedorqui

+0

Scheint cool @fedorqui aber es scheint zu Firefox-Fenster in der GUI zu öffnen. Ich möchte eine Terminal/Scripting-basierte Lösung nur (wenn möglich) – Stichy

+0

können Sie kopflose Browser wie Phantomjs verwenden –

Antwort

0

Sie können wie so Curl in PHP verwenden:

<?php 
$ch = curl_init('http://www.google.com/'); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_NOBODY, 0); 
curl_setopt($ch, CURLOPT_TIMEOUT, 5); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Enter your browser agent string here'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($ch); 
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
curl_close($ch); 
if ($status == 200) { 
    // $output contains URLs data, if needed 
} 

Wenn Sie CURLOPT_USERAGENT zu Ihrem gewünschten User-Agent-String gesetzt, dann wird die Anfrage erscheinen aus diesem Browser zu kommen.

Ich denke, es hängt davon ab, was Sie mit den Daten tun wollen, ob Sie nur die URL pingen wollen, oder ob Sie die Website tatsächlich so anzeigen möchten, als wäre es der Browser, der sie besucht.