예제 #1
0
function imagefap_realm($base)
{
    //http://www.imagefap.com/pictures/2525382/Highly-Erotic-Nude-Models-HQ-Picture
    $sitename = "http://www.imagefap.com";
    $finish = false;
    $firstbase = $base;
    $dir = urldecode(basename($base));
    $i = 1;
    while (!$finish) {
        $c = new Crawler($base);
        echo $base . "<br/>";
        $c->go_to(array('<table style=', ':: next ::'));
        if (Crawler::is_there($c->curline, ':: next ::')) {
            $finish = false;
            $urld = Crawler::extract($c->curline, 'href="', '"');
            $base = $firstbase . html_entity_decode($urld);
            $c->go_to('<table style=');
        } else {
            $finish = true;
        }
        while ($line = $c->readline()) {
            if (Crawler::is_there($line, 'border=0')) {
                $img = Crawler::extract($line, 'src="', '"');
                $img = str_replace('/thumb/', '/full/', $img);
                $img = preg_replace('/\\/x\\d\\./', '/', $img);
                $filename = basename($img);
                $ext = Crawler::cutfromlast($filename, '.');
                $text = Crawler::n($i++, 4);
                echo "<a href='{$img}'>{$dir}</a><br/>\n";
            } else {
                if (Crawler::is_there($line, '</form>')) {
                    break;
                }
            }
        }
        $c->close();
    }
}
 private function download_all($base, $destination)
 {
     $sitename = "http://www.imagefap.com";
     $finish = false;
     $firstbase = $base;
     $i = 1;
     while (!$finish) {
         $c = new Crawler($base);
         echo $base . "\n";
         $c->go_to(array('<table style=', ':: next ::'));
         if (Crawler::is_there($c->curline, ':: next ::')) {
             $finish = false;
             $urld = Crawler::extract($c->curline, 'href="', '"');
             $base = $firstbase . html_entity_decode($urld);
             $c->go_to('<table style=');
         } else {
             $finish = true;
         }
         while ($line = $c->readline()) {
             if (Crawler::is_there($line, 'border=0')) {
                 $img = Crawler::extract($line, 'src="', '"');
                 $img = str_replace('/thumb/', '/full/', $img);
                 $img = preg_replace('/\\/x\\d\\./', '/', $img);
                 $filename = basename($img);
                 $ext = Crawler::cutfromlast($filename, '.');
                 $text = Crawler::n($i++, 4);
                 $this->save_to($img, "{$destination}/{$text}{$ext}");
             } else {
                 if (Crawler::is_there($line, '</form>')) {
                     break;
                 }
             }
         }
         $c->close();
     }
 }
예제 #3
0
function crawl_1_page($start_url)
{
    global $prefix;
    global $bas;
    $cr = new Crawler($start_url);
    /*
    	echo $cr->readline();flush();
    while(!feof($cr->stream)) {
    }
    exit(0);
    */
    $cr->go2linewhere('headerSelect');
    $cr->readline();
    $line = $cr->curline;
    $cr->close();
    $chap = Crawler::cutfromlast1($start_url, '/');
    if (strpos($chap, '.') === false) {
        $chap = Crawler::n($chap, 3);
    } else {
        $a = explode('.', $chap);
        $a[0] = Crawler::n($a[0], 3);
        $chap = implode('.', $a);
    }
    $pi = 1;
    // page i
    $ledak = explode('value="', $line);
    $pages = array();
    for ($i = 1; $i < count($ledak); $i++) {
        $uurl = Crawler::cutuntil($ledak[$i], '"');
        $key = Crawler::cutfromlast1($uurl, '/');
        $pages[$key] = strpos($uurl, 'http://') === 0 ? $uurl : $bas . $uurl;
    }
    //print_r($pages);flush();
    $results = array();
    foreach ($pages as $pagenum => $new_url) {
        $berhasil = false;
        while (!$berhasil) {
            $cr = new Crawler($new_url);
            //echo "URL:$new_url<br/>\n";flush();
            $cr->go2linewhere('id="readerPage"');
            if ($cr->strpos('<img src="') === false) {
                $cr->readline();
            }
            $line = $cr->curline;
            $cr->close();
            $img_url = Crawler::extract($line, '<img src="', '"');
            //echo "IMG:$img_url<br/>\n";flush();
            $real_name = basename($img_url);
            $ext = Crawler::cutfromlast($img_url, '.');
            //$filename = $prefix . '-' . $chap . '-' . Crawler::n($pagenum, 2) . $ext;
            $filename = $prefix . '-' . $chap . '-' . urldecode($real_name);
            $val = $img_url;
            if (!empty($val)) {
                $berhasil = true;
                $key = $filename;
                $results[$filename] = $img_url;
                ?>
				<a href="<?php 
                echo $val;
                ?>
"><?php 
                echo $key;
                ?>
</a><br />
				<?php 
                flush();
            } else {
            }
        }
    }
}
예제 #4
0
 public static function parse_url($url, $component = -1)
 {
     $hasil = parse_url($url, $component);
     $hasil['filename'] = basename($hasil['path']);
     $hasil['extension'] = Crawler::cutfromlast($hasil['filename'], '.');
     $hasil['filename_noext'] = Crawler::cutuntillast($hasil['filename'], '.');
     return $hasil;
 }