<?php
// 初始化一个snoopy类的实例
$snoopy = new Snoopy;
 
// 设置要抓取的URL
$url = 'http://example.com';
 
// 启用FastCGI cache,但注意这里的cache_dir需要是可写的
$cache_dir = '/path/to/your/cache/dir';
$cache_file = md5($url);
$cache_expire = 3600; // 缓存有效期为1小时
 
// 检查缓存文件是否存在并且没有过期
if (file_exists($cache_dir . $cache_file) &&
    (time() - filemtime($cache_dir . $cache_file) < $cache_expire)) {
    // 如果缓存未过期,直接读取缓存文件内容
    echo file_get_contents($cache_dir . $cache_file);
} else {
    // 如果缓存过期或不存在,则抓取网页内容
    // 设置snoopy的一些选项,例如超时时间
    $snoopy->maxframes = 5; // 允许的最大框架深度
    $snoopy->fetch($url);
 
    // 检查snoopy是否抓取到了内容
    if ($snoopy->error) {
        echo "Error: " . $snoopy->error; // 输出错误信息
    } else {
        // 输出抓取的内容
        echo $snoopy->results;
 
        // 更新缓存
        file_put_contents($cache_dir . $cache_file, $snoopy->results);
    }
}
?>这段代码示范了如何使用Snoopy类来抓取网页内容,并尝试使用FastCGI缓存来提高性能。它首先检查缓存文件是否存在并且未过期,如果缓存有效,它将直接读取并输出缓存内容。如果缓存过期,它会抓取新的内容,并更新缓存文件。注意,这里假设$cache_dir是可写的,并且你有适当的权限来创建和修改文件。