在Crontab中获取包含jQuery帖子的网页

时间:2016-06-16 08:48:50

标签: php jquery python linux curl

我想做一个简单的"访问"一个网页作为普通浏览器。在这个网页上我有一个脚本:

<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>

如果我在终端上做了一个卷曲,那么javascript就不会运行,并且永远不会发布帖子。 有没有&#34; curl&#34;模拟Chrome,Safari等实际访问?或者我可以编写一个我可以在我的crontab中添加的Php或Python脚本吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

你可以在PHP中使用CURL:

<?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
}

如果您将CURLOPT_USERAGENT设置为所需的用户代理字符串,则该请求似乎来自该浏览器。

我想这取决于您想要对数据做什么,是否只想ping网址,或者您是否想要实际显示网站,就像访问它的浏览器一样。