|
|
|
| Я хочу открыть site RBC – а вот не открывается. | |
|
|
|
|
|
|
|
для: Arsenal
(17.06.2008 в 14:53)
| | а как вы открываете? дайте хоть screenshot :-) | |
|
|
|
|
|
|
|
для: Arsenal
(17.06.2008 в 14:53)
| | Вот код Граббера.
<?php
if (!defined('BLOCK_FILE')) {
Header("Location: ../index.php");
exit;
}
$rows = "";
$xhost = "www.rbc.ru";
$referer = "www.rbc.ru";
$pagefile = "/index.ru.html";
$st = "<!--blockstart-->";
$sp = "<!--blockend-->";
$hostrec = "GET $pagefile HTTP/1.0\r\nHOST: $xhost\r\nReferer: $referer\r\n\r\n\r\n";
$checkhost = fsockopen("$xhost", 80, &$errno, &$errst, 3);
if ($checkhost){
fputs ($checkhost, $hostrec);
while (!feof ($checkhost)){
$rows .= trim(fgets($checkhost, 1024));
}
fclose($checkhost); //Закрываем файл
eregi("$st(.*)$sp", $rows, $rf);
$rf = trim($rf[1]);
$rf = str_replace("#444444", "#FFCC66", $rf);
$rf = str_replace("<!-- NewsHeader -->", "<!-- NewsHeader --><font color=\"#993300\">", $rf);
$rf = str_replace("<!-- NewsBody -->", "<!-- NewsBody --><font color=\"#000000\">", $rf);
$rf = str_replace("<!-- NewsFooter -->", "</font><!-- NewsFooter -->", $rf);
$rf = str_replace("<table width=\"90%\"", "<table width=\"100%\"", $rf);
$rf = str_replace("href=\"/cgi-bin/", "href=\"http://www.rbc.ru/cgi-bin/", $rf);
$rf = str_replace("href=\"/cash/", "href=\"http://www.rbc.ru/cash/", $rf);
$rf = str_replace("<img src=\"/i/", "<img src=\"http://www.rbc.ru/i/", $rf);
$rf = str_replace("<img", "<img border=\"0\"", $rf);
$rf = str_replace("<a href=\"/cash.html", "<a href=\"http://www.rbc.ru/cash.html", $rf);
$rf = ereg_replace("javascript(.*)\)","",$rf);
$content = "$rf"; //Выводим содержимое блока
} else {
$content = "<center><i><b>Server error!</b></i></center>"; установлено, }
?> | |
|
|
|
|
|
|
|
для: Arsenal
(17.06.2008 в 14:59)
| | Люди помогите с Граббером | |
|
|
|
|
|
|
|
для: Arsenal
(17.06.2008 в 16:21)
| | Для начала вот это исправьте
$content = "<center><i><b>Server error!</b></i></center>"; установлено, }
|
Ну и если я правильно понимаю в конец нужно добавить
| |
|
|
|
|
|
|
|
для: Zend72
(17.06.2008 в 17:03)
| | Здесь что именно надо исправить?
$content = "<center><i><b>Server error!</b></i></center>"; установлено, } | |
|
|
|
|
|
|
|
для: Arsenal
(18.06.2008 в 09:45)
| | Убрать выделенное. | |
|
|
|
|
|
|
|
для: AcidTrash
(18.06.2008 в 09:52)
| | Хорошо Я убрал выделенное, но все ни чего не показывает. | |
|
|
|
|
|
|
|
для: Arsenal
(18.06.2008 в 11:06)
| | echo $content; написали? | |
|
|
|
|
|
|
|
для: Arsenal
(17.06.2008 в 14:53)
| | А так не проще?
<?
$fp = implode('', file('http://www.rbc.ru'));
preg_match('|<div class="nList">(.*?)<\/div>|s', $fp, $matchs);
// Главные новости:
echo $matchs[1];
?>
|
PS: такой страницы нет - www.rbc.ru/index.ru.html, есть www.rbc.ru/index.html или www.rbc.ru
<!--blockstart-->, <!--blockend--> - такого в коде страницы вообще нет, может поэтому и не работает?
Если вам тупо нужно носоти взять , то http://www.informer.ru/ | |
|
|
|
|
|
|
|
для: mihdan
(18.06.2008 в 11:20)
| | Уважаемый mihdan, я Вам в советчики не гожусь - слишком мало знаний, но для себя хотел бы узнать зачем Вы пишите
<?php
$fp = implode('', file('http://example.com/page.html'));
?>
|
а не, допустим,
<?php
$fp = file_get_contents('http://example.com/page.html');
?>
|
?
Вы видите в этом свои плюсы? Я - нет, вот и спрашиваю... | |
|
|
|
|
|
|
|
для: BinLaden
(18.06.2008 в 13:59)
| | to BinLaden
Честно сказать я тоже разницы не вижу
Что такая конструкция
implode('', file('http://example.com/page.html'));
и просто
file_get_contents('http://example.com/page.html');
записывают данные в строку.
До версии PHP 4.3.0 функции file_get_contents() не было и чтобы получить файл в виде строки приходилось использовать написаное выше.
P.S.
Может кому как удобнее. Вероятно mihdan живет еще в том времени :) | |
|
|
|
|
|
|
|
для: AcidTrash
(18.06.2008 в 14:11)
| | 2AcidTrash я начинал программировать с РНР3 потом перешел на РНР4, РНР5 - вот оттуда и есть ухищрения для совместимости во всех версиях ))) Если кому-то удобно file_get_contents - пожалуйста, но file() возвращает содержимое прочитанного файла в виде массива, а file_get_contents - содержимое файла возвращается в строке.
Использование функции file_get_contents() наиболее предпочтительно в случае необходимости получить содержимое файла целиком, поскольку для улучшения производительности функция использует алгоритм 'memory mapping' (если поддерживается операционной системой). | |
|
|
|
|
|
|
|
для: mihdan
(18.06.2008 в 14:38)
| | Отличия file() и file_get_contents() я хорошо знаю :)
Но с учетом того, что сейчас мало кто использует версии ниже 4.3.0, в этих ухищерениях необходимости нет. | |
|
|
|
|
|
|
|
для: AcidTrash
(18.06.2008 в 15:42)
| | Ну тут я не согласен - очень многие хочтеры так и не соизволили перейти на РНР выше 4.3 | |
|
|
|
|
|
|
|
для: mihdan
(18.06.2008 в 16:25)
| | > очень многие хочтеры так и не соизволили перейти на РНР выше 4.3
Не знаю ни одного такого. Например? Южноафриканских хостеров не предлагать:) | |
|
|
|
|
|
|
|
для: BinLaden
(18.06.2008 в 17:10)
| | Ну это уже не ваше дело где и какие хостеры, так как это корпоративные проблемы. А если не слышали и не видели, то и говорить нечего | |
|
|
|
|
|
|
|
для: mihdan
(18.06.2008 в 17:41)
| | Ну что это Вы сразу хамите:) Я спросил "где такие?", а мне отвечают - "не знаете таких??? молчите!" :)))
Вы же сказали, что "многие ...", очевидно, что их много и для Вас не составит труда привести пример хоть одного:) | |
|
|
|
|
|
|
|
для: BinLaden
(18.06.2008 в 19:04)
| | Как создать Грабберы занова? | |
|
|
|