|
|
|
| Доброго времени суток.
Цель: ограбить информацию с сайта с динамическими ссылками для последующей каталогизацией в MySql.
Ссылки имеют вид:
<?
http://www.site.ru/index.php?a=525
?>
|
$a имеет значения от 1 до неизвестного. При заходе на данные ссылки, при работоспособности открывается контент. А если адрес не существует, то на экран выводится сообщение об ошибке и форма для связи с администрацией сайта.
Вопрос: как мне узнать все значения переменной $a, которые существуют. Может по размеру страницы? Прошу совета...
Спасибо всем окликнувшимся... | |
|
|
|
|
|
|
|
для: provodnik
(26.07.2007 в 12:55)
| | По размеру страницы будет не очень точно, вдруг существует страница с коротким текстом.
Лучше посмотри что сайт выводит, когда запрошена несуществующая страница и сверяй с ней, целиком или по какому-нибудь ключевому слову | |
|
|
|
|
|
|
|
для: Петр
(26.07.2007 в 13:02)
| | К сожалению, когда ссылка не работает, сайт, помимо формы для связи с администрацией выводит еще на 50 килобайт всяких менюшек, рекламы и т.п. дряни... Тем более что существует вероятность диапазона значений переменной в несколько десятков тысяч. Сервер сгорит... ((
Может еще какие мысли? Может cURL каким местом мне сможет помочь? Заголовки какие либо? Я не силен к сожалению ни в cURL, ни в работе с сокетами....
Прошу советов... Заранее спасибо... | |
|
|
|
|
|
|
|
для: provodnik
(26.07.2007 в 13:07)
| | Ищи в полученой страницы только эту форму (или еще какой-нибудт элемент, котогоро больше нигде нет) если нету - ссылка рабочаяя | |
|
|
|
|
|
|
|
для: provodnik
(26.07.2007 в 13:07)
| | Может проще воспользоваться формой? | |
|
|
|
|
|
|
|
для: Trianon
(26.07.2007 в 13:13)
| | Петр - 8 ссылок обрабатываются 25 секунд... Я боюсь думать об обработке 30-40 тысяч параметров...
Trianon - что Вы имеете в виду? | |
|
|
|
|
|
|
|
для: provodnik
(26.07.2007 в 14:01)
| | А в title страницы не оказывается сообщения об ошибке? Можно было бы на него ориентироваться.
Еще можно посмотреть заголовки. Возможно, там редирект стоит на страницу с формой. Может, его палить. | |
|
|
|
|
|
|
|
для: provodnik
(26.07.2007 в 14:01)
| | Связаться с администрацией и предложить ей сотпрудничество.
Она Вам базу с контентом.
Вы ей фильтрацию мертвых ссылок. | |
|
|
|
|
|
|
|
для: Trianon
(26.07.2007 в 14:58)
| | В общем на коленках нарисовал код:
<?
for($i = 1; $i < 15; $i++)
{
$text = file_get_contents("http://www.site.ru/index.php?a=$i");
if (!strpos($text, 'Ошибка')) $mass[] = $i;
}
foreach ($mass as $id => $n)
{
$text = file_get_contents("http://www.site.ru/index.php?a=$n");
echo $text;
}
?>
|
Всё работает нормально, но к сожалению если происходит обработка более 15 урлов, скрипт умирает...
Ка же быть? Если там их тысячи ??
Trianon - на сайте то нет битых ссылок. Они получаются у меня, когда я начинаю перебирать их контент. У них каталог с двойной вложенностью, т.е. название рубрики и материалы этой рубрики. id материалов идут не по порядку (какие то были перемещены, какие то удалены). | |
|
|
|