本文整理汇总了PHP中Crawler::extract方法的典型用法代码示例。如果您正苦于以下问题:PHP Crawler::extract方法的具体用法?PHP Crawler::extract怎么用?PHP Crawler::extract使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Crawler
的用法示例。
在下文中一共展示了Crawler::extract方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: crawl_page
public function crawl_page($url)
{
// crawl_page
$c = new Crawler($url);
// get title
$c->go_to('<title>');
$title = Crawler::extract($c->curline, 'PHD Comics: ', '</title>');
$title = preg_replace('/\\W/', '_', $title);
// get the date
$c->go_to('date_left.gif');
$c->readline(2);
$line = $c->curline;
preg_match('/([0-9]+)\\/([0-9]+)\\/([0-9]+)/mi', $line, $matches);
//print_r($matches);flush();
list($full, $month, $date, $year) = $matches;
if (strlen($date) < 2) {
$date = '0' . $date;
}
if (strlen($month) < 2) {
$month = '0' . $month;
}
$fileprefix = "{$year}_{$month}_{$date}_{$title}";
// get the img url
$c->go2linewhere('<td bgcolor=#FFFFFF');
$line = $c->curline;
preg_match('/<img src=["\']?([^ ]+)["\']?/i', $line, $matches);
$img = $matches[1];
$filename = basename($img);
$ext = substr($filename, strrpos($filename, '.'));
echo "<a href='{$img}'>" . $fileprefix . $ext . "</a><br/>";
flush();
$c->close();
unset($c);
}
示例2: crawl_1_page
function crawl_1_page($url)
{
echo "URL2 {$url} <br/>\n";
flush();
$dirname = html_entity_decode(Crawler::cutfromlast1(substr($url, 0, strlen($url) - 1), '/'));
$hasil = array();
$c = new Crawler($url);
$c->go_to('<div class="entry">');
while ($line = $c->readline()) {
if (Crawler::is_there($line, "href='")) {
$img = Crawler::extract($line, "href='", "'");
echo "<a href='{$img}'>{$dirname}</a><br/>\n";
flush();
} else {
if (Crawler::is_there($line, 'href="')) {
$img = Crawler::extract($line, 'href="', '"');
echo "<a href='{$img}'>{$dirname}</a><br/>\n";
flush();
} else {
if (Crawler::is_there($line, '</div>')) {
break;
}
}
}
}
$c->close();
}
示例3: crawl_1_chapter
function crawl_1_chapter($url, $chapter)
{
global $sitename;
global $prefix;
$c = new Crawler($url);
$c->go_to('name="pagejump"');
$pages = array();
while ($line = $c->readline()) {
if (Crawler::is_there($line, '<option')) {
$pages[] = Crawler::extract($line, 'value="', '"');
} else {
if (Crawler::is_there($line, '</select>')) {
break;
}
}
}
$c->go_to('id="nextpage"');
$c->readline();
$img = $c->getbetween('src="', '"');
$c->close();
$img_base = dirname($img);
$ext = '.jpg';
$chapter = Crawler::pad($chapter, 3);
foreach ($pages as $page) {
echo "<a href='{$img_base}/{$page}{$ext}'>{$prefix}-{$chapter}-{$page}{$ext}</a><br/>\n";
flush();
}
//print_r($pages);flush();
}
示例4: crawl_indowebster
function crawl_indowebster($url)
{
//echo "'$url'";
$craw = new Crawler($url);
$craw->go2lineregexor('/(<\\/div><\\/a><\\/div><\\/div>)/', 1, 'href="#idws7"');
$setring = $craw->getbetween('location.href=\'', '\'');
$path = Crawler::extract($setring, 'path=', '&');
$file_orig = Crawler::cutafter($setring, 'file_orig=');
$craw->close();
return '<a href="' . dirname($setring) . '/' . $path . '">' . rawurldecode($file_orig) . '</a>';
}
示例5: crawl_1_page
function crawl_1_page($fil, $url, $chapter)
{
global $prefix;
$c = new Crawler($fil);
$c->go_to('id="img"');
$c->readline();
$c->close();
$img = Crawler::extract($c->curline, 'src="', '"');
if ($img) {
$fname = Crawler::fix_filename(basename($img));
echo "<a href='{$img}'>{$prefix}-{$chapter}-{$fname}</a><br />\n";
} else {
// Ulangi
crawl_1_page($url, $url, $chapter);
}
}
示例6: go
public function go()
{
$start_url = $this->url;
if (preg_match('/gallery1\\.hentaifromhell\\.net/', $start_url)) {
$base_url = 'http://gallery1.hentaifromhell.net';
} else {
$base_url = 'http://gallery.hentaifromhell.net';
}
$finish = false;
while (!$finish) {
$finish = true;
echo $start_url, "<br />\n";
flush();
$c = new Crawler($start_url);
$c->go2linewhere('<li class="thumbnail">');
while ($line = $c->readline()) {
//echo "<pre>$line</pre><br/>\n";flush();
if (strpos($line, 'src="') !== false) {
//ambil gambar
$uri = Crawler::extract($line, 'src="', '"');
$uri = str_replace('/thumbs/', '/images/', $uri);
preg_match('/(\\/small\\/\\d+-)/', $uri, $matches);
$uri = str_replace($matches[1], '/', $uri);
//$uri = html_entity_decode($uri);
//$this->extract_page($uri);
$file = basename(dirname($uri));
echo "<a href='{$uri}'>{$file}</a><br/>\n";
flush();
} else {
if (strpos($line, 'class="pagNext"') !== false) {
//next page
$finish = false;
$start_url = html_entity_decode(Crawler::extract($line, 'class="pagNext" href="', '"'));
break;
} else {
if (strpos($line, '</table>') !== false) {
// selesai
break;
}
}
}
}
$c->close();
}
}
示例7: go
public function go()
{
$mark1 = '<a target="_blank" title="Show fullsized image" href=';
$mark2 = '<a title="Next Image" rel="next" href=';
$host = 'http://lu.scio.us';
$finish = false;
$number = 0;
$url = $this->url;
preg_match('/\\/([^\\/]+)\\/page\\/1/', $url, $m);
$text = $m[1];
while (!$finish) {
echo $url . "<br/>\n";
flush();
$c = new Crawler($url);
$c->go_to('id="pid_');
while ($line = $c->readline()) {
if (Crawler::is_there($line, 'src="')) {
$img = Crawler::extract($line, 'src="', '"');
$img = str_replace('thumb_100_', @$_GET['big'] ? '' : 'normal__', $img);
$num = Crawler::pad(++$number, 3);
$filnm = basename($img);
$ext = Crawler::cutafter($filnm, '.');
// $text = $num . $ext;
// preg_match('/\/(\d+\/\d+)\//', $img, $m);
// $text = $m[1];
echo "<a href='{$img}'>{$text}</a><br/>\n";
flush();
} else {
if (Crawler::is_there($line, '</ul>')) {
break;
}
}
}
$c->go_to('class="pager"');
$c->readline();
if (Crawler::is_there($c->curline, 'Pager_next')) {
$finish = false;
$url = $host . Crawler::extract($c->curline, '<a rel="next" href="', '"');
} else {
$finish = true;
}
$c->close();
}
}
示例8: go
public function go()
{
// http://www.fakku.net/viewonline.php?id=2589
// pake curl
$base = 'http://www.fakku.net';
// $this->url = str_replace('viewmanga.php', 'viewonline.php', $this->url);
if (!preg_match('/\\/read$/', $this->url)) {
$this->url .= '/read';
}
/*
$ch = curl_init($this->url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
file_put_contents('fakku.temp', curl_exec($ch));
curl_close($ch);
*/
$craw = new Crawler($this->url, array('use_curl' => true, 'agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13'));
$craw->go_to('var data = {');
$json = Crawler::extract($craw->curline, ' = ', ';');
$obj = json_decode($json);
/*
$craw->go_to('var mirror = ');
$mirror = $craw->getbetween("'", "'");
$craw->go_to('var mirror = ');
$mirror2 = $craw->getbetween("'", "'");
if ($mirror2) $mirror = $mirror2;
*/
// 2012-05-06 fakku berubah
$craw->go_to('function imgpath(');
$craw->go_to('return \'');
$imgpath = $craw->getbetween("return '", "';");
$craw->close();
$dir = basename(dirname($this->url));
foreach ($obj->thumbs as $key => $val) {
$filename = Crawler::pad($key + 1, 3);
// $img = $mirror . '/' . $obj->meta->dir . 'images/' . $filename;
$img = str_replace("' + x + '", $filename, $imgpath);
$text = $dir;
echo "<a href='{$img}'>{$text}</a><br/>\n";
flush();
}
}
示例9: get_images
public function get_images($chapter_url, $prefix, $infix)
{
$sitename = $this->sitename($chapter_url);
$c = new Crawler($chapter_url);
$c->go_to('id="pageMenu"');
$pages = array();
while ($line = $c->readline()) {
if (Crawler::is_there($line, '<option')) {
$pages[] = $sitename . Crawler::extract($line, 'value="', '"');
} else {
if (Crawler::is_there($line, '</select>')) {
break;
}
}
}
$c->close();
$result = array();
foreach ($pages as $page) {
$result = $result + $this->mangareader_1_page($page, $page, $prefix, $infix);
}
return $result;
}
示例10: foolreader_1_chapter
function foolreader_1_chapter($url, $chapter)
{
global $sitename;
global $prefix;
$chapter = Crawler::pad($chapter, 3);
$c = new Crawler($url);
$c->go_to('imageArray = new Array');
while ($line = $c->readline()) {
if (Crawler::is_there($line, 'imageArray[')) {
$img = Crawler::extract($line, "'", "'");
if (strpos($img, 'http://') !== 0) {
$img = $sitename . $img;
}
$fname = basename($img);
echo "<a href='{$img}'>{$prefix}-{$chapter}-{$fname}</a><br/>\n";
} else {
if (Crawler::is_there($line, 'function loadImage')) {
break;
}
}
}
$c->close();
/*
// @TODO
$pages = array();
while ($line = $c->readline()) {
if (Crawler::is_there($line, '<option')) {
$pages[] = $sitename . Crawler::extract($line, 'value=\'', "'");
} else if (Crawler::is_there($line, '</select>')) {
break;
}
}
//$pages = Crawler::extract_to_array($c->curline, 'value="', '"');
$c->close();
//Crawler::multiProcess(4, $pages, 'foolreader_1_page', array($chapter));
*/
}
示例11: crawl_chapter
public function crawl_chapter($v)
{
$c = new Crawler($v['url']);
$c->go_to('id="pageMenu"');
$pages = array();
while ($line = $c->readline()) {
if (Crawler::is_there($line, '<option')) {
$pages[] = $this->sitename . Crawler::extract($line, 'value="', '"');
} else {
if (Crawler::is_there($line, '</select>')) {
break;
}
}
}
// $pages = Crawler::extract_to_array($c->curline, 'value="', '"');
$c->close();
echo '<ul>';
// Crawler::multiProcess(4, $pages, array($this, 'mangareader_1_page'), array($v['infix']));
foreach ($pages as $page) {
$this->mangareader_1_page($page, $page, $v['infix']);
}
echo '</ul>';
}
示例12: crawl1page
function crawl1page($url)
{
echo 'Entering ' . $url . '<br/>';
flush();
$c = new Crawler($url);
$c->go2linewhere('<div class="ngg-gallery-thumbnail"');
$c->readline();
$sample = $c->getbetween('href="', '"');
$c->close();
$dir = dirname($sample);
if (!$dir) {
return;
}
$folder = substr($dir, strrpos($dir, '/') + 1);
$dir = dirname($dir) . '/' . rawurlencode($folder) . '/';
echo 'Dir:' . $dir . '<br/>' . "\n";
flush();
$c = new Crawler($dir);
$c->go2linewhere('<ul>');
$c->readline();
while ($line = $c->readline()) {
//echo $line;flush();
if (strpos($line, '</ul>') !== false) {
break;
} else {
if (strpos($line, '"thumbs/"')) {
break;
}
}
$filename = Crawler::extract($line, 'href="', '"');
echo '<a href="' . $dir . $filename . '">' . rawurldecode($filename) . '</a><br/>' . "\n";
flush();
}
$c->close();
echo '<br/>' . "\n";
flush();
}
示例13: go
public function go()
{
$start_url = $this->url;
if (preg_match('/gallery1\\.hentaifromhell\\.net/', $start_url)) {
$base = 'http://gallery1.hentaifromhell.net';
} else {
$base = 'http://gallery.hentaifromhell.net';
}
$selesai = false;
while (!$selesai) {
echo "{$start_url}<br/>\n";
$craw = new Crawler($start_url);
$craw->go2linewhere('showimg.php?c=');
while ($line = $craw->readline()) {
if (strpos($line, 'showimg.php?c=') !== false) {
$raw = Crawler::extract_to_array($line, '<a href="', '"');
foreach ($raw as $r) {
$href = str_replace('showimg.php?c=', '', $r);
$text = basename(dirname($href));
// basename($href);
echo '<a href="' . $href . '">' . $text . '</a>' . "<br />\n";
}
// $href = Crawler::extract($line, '<a href="', '"');
} else {
if (strpos($line, 'Next»') !== false) {
if (strpos($line, '<a href') !== false) {
$start_url = $base . Crawler::extract($line, '<a href="', '"');
} else {
$selesai = true;
}
break;
}
}
}
$craw->close();
}
}
示例14: download_all
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();
}
}
示例15: extract
require_once "crawler.php";
$start_date = '2009-03-10';
$base_url = 'http://www.dilbert.com';
$middle_url = '/strips/comic/';
extract($_GET);
$selesai = false;
$url = $base_url . $middle_url . $start_date;
while (!$selesai) {
$ada_next = false;
$c = new Crawler($url);
echo "URL is {$url}<br />\n";
flush();
$c->go2lineor(array('STR_Content', 'STR_Prev'));
//echo "go2lineor selesai\n";flush();
if ($c->strpos('STR_Prev') !== false) {
//masih ada next
$ada_next = true;
$url = $base_url . $c->getbetween('<a href="', '"');
$c->go2linewhere('STR_Content');
} else {
$ada_next = false;
$selesai = true;
}
$c->readline();
$img = $c->getbetween('<img src="', '"');
echo "<a href='{$base_url}{$img}'>{$start_date}</a><br />\n";
$start_date = Crawler::extract($url, 'comic/', '/');
$c->close();
echo "Closed\n";
flush();
}