С нами с 27.02.04
Сообщения: 926
Рейтинг: 47
|
Добавлено: 29/12/05 в 03:15 |
Есть у кого-нибудь такой скриптик?
Только уникальность, в даннном случае сортировка по доменам, а не удаление повторяющихся линков.
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 29/12/05 в 03:24 |
Так сортировка или проверка ?
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 27.02.04
Сообщения: 926
Рейтинг: 47
|
Добавлено: 29/12/05 в 03:39 |
Проверка, то есть если у одного домена несколько страниц, то выводить любую из них, но только одну.
|
|
|
|
С нами с 27.02.04
Сообщения: 926
Рейтинг: 47
|
Добавлено: 29/12/05 в 03:51 |
Немного изменилась задача ...
Если есть два или более одинаковых домена, то нужно удалять все линки с этого домена.
цена - 7$50c
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 29/12/05 в 14:32 |
Если правильно понял, то вот:
В файле mass_urls.txt в каждой строке урл...
Код: |
<?php
$urls = file("mass_urls.txt");
$urls_a = array();
$urls_src = $urls;
@array_walk($urls, sort_expl);
for($i=0;$i<count($urls);$i++){
$urls_base = $urls;
$urls_base[$i] = "";
$ff = array_search($urls[$i], $urls_base);
if(!$ff)print $urls_src[$i]."<BR>\n";
}
function sort_expl(&$urls_b, $urls_key){
$urls_a = parse_url($urls_b);
$urls_b = str_replace("www.","", $urls_a['host']);
}
?>
|
|
|
|
|
С нами с 27.02.04
Сообщения: 926
Рейтинг: 47
|
Добавлено: 30/12/05 в 02:39 |
ibiz писал: | Если правильно понял, то вот:
В файле mass_urls.txt в каждой строке урл...
Код: |
<?php
$urls = file("mass_urls.txt");
$urls_a = array();
$urls_src = $urls;
@array_walk($urls, sort_expl);
for($i=0;$i<count($urls);$i++){
$urls_base = $urls;
$urls_base[$i] = "";
$ff = array_search($urls[$i], $urls_base);
if(!$ff)print $urls_src[$i]."<BR>\n";
}
function sort_expl(&$urls_b, $urls_key){
$urls_a = parse_url($urls_b);
$urls_b = str_replace("www.","", $urls_a['host']);
}
?>
| |
А где твой номер WMZ?
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 30/12/05 в 15:16 |
Jim Smit писал: | А где твой номер WMZ? :) |
Все пожертвования кидайте сюда Z472589245455 =)))
|
|
|
|
С нами с 26.12.01
Сообщения: 98
Рейтинг: 149
|
Добавлено: 07/01/06 в 05:02 |
у меня чтот вываливаецца на локале с ошибкой:
Fatal error: Maximum execution time of 30 seconds exceeded in z:\home\localhost\www\urls\url-clianer.php on line 8
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 07/01/06 в 08:00 |
PoPcOrE писал: | у меня чтот вываливаецца на локале с ошибкой:
Fatal error: Maximum execution time of 30 seconds exceeded in z:\home\localhost\www\urls\url-clianer.php on line 8 |
Возможно кол-во урлов огромное, а проц слабенький, скрипт неуспевает обработать...
Тока что проверил на 30 штуках, все пахает...
|
|
|
|
С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362
|
Добавлено: 07/01/06 в 09:14 |
PoPcOrE писал: | у меня чтот вываливаецца на локале с ошибкой:
Fatal error: Maximum execution time of 30 seconds exceeded in z:\home\localhost\www\urls\url-clianer.php on line 8 |
в самом начале скрипта напиши :
set_time_limit(0);
п.с.
кстати если у тебя там больше 1к адресов , у тебя машина раньше зависнет , нужно будет скрипт немного модифировать.
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 07/01/06 в 17:07 |
PoPcOrE писал: | урлов - 50к
проц - АМД 64
памяти 1 Гиг |
Ага, и файл весит под 2Мб?)
Ну я хз, может касперского отключи на винде, он притормаживает локальные тулзы...
Время выполнения скрипта увеличь set_time_limit(600); в ноль несоветую, а то ребутаца будешь.
P.S. По чьему-то совету я перестал заморачиваться быстродействием, но вижу, что зря... на досуге гляну, как можно оптимизировать скриптик...
|
|
|
|
www.fleshdomains.com
С нами с 08.08.05
Сообщения: 2228
Рейтинг: 1186
|
Добавлено: 17/01/06 в 20:56 |
что нужно дописать в этот чудо скрипт чтобы он проверял урл на уникальность , но на одном домене возможно несколько папок , т.е. к примеру такой список :
domain1.com/bla
domain2.com/blabla
domain3.com/blablabla
domain1.com/blabla
domain1.com/bla
domain3.com/blablabla
нужно чтобы скрипт отсюда убрал только domain3.com/blablabla и domain1.com/bla , думаю вы поняли про что я и еще чтобы была проверка на существование этого урла , если 404 то выкидывает его из базы. Кто напишет подарю фетов
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 17/01/06 в 21:19 |
Referal писал: | ... |
Попробуй вот это:
Код: |
<?php
$urls = file("mass_urls.txt");
$all = count($urls);
$urls_src = $urls;
$urls = @array_unique($urls);
for($i=0;$i<$all;$i++){
if($urls[$i])print $urls_src[$i]."<BR>\n";
}
?> |
|
|
|
|
www.fleshdomains.com
С нами с 08.08.05
Сообщения: 2228
Рейтинг: 1186
|
Добавлено: 17/01/06 в 21:24 |
ibiz писал: | Попробуй вот это:
Код: |
<?php
$urls = file("mass_urls.txt");
$all = count($urls);
$urls_src = $urls;
$urls = @array_unique($urls);
for($i=0;$i<$all;$i++){
if($urls[$i])print $urls_src[$i]."<BR>\n";
}
?> | |
а он с 50-60к урлов справится ?
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 17/01/06 в 21:31 |
Referal писал: | а он с 50-60к урлов справится ? |
ХЗ, попробуй, потом расскажешь)
Вообще с файлами больше 2Мб рнр неособо дружит...
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 17/01/06 в 21:34 |
эммм... лучше пускай в файл пишет результат работы, а то браузер повесишь себе еще чего...
Код: |
<?php
$urls = file("mass_urls.txt");
$all = count($urls);
$urls_src = $urls;
$urls = @array_unique($urls);
$fp = fopen("res.txt", "w+");
for($i=0;$i<$all;$i++){
if($urls[$i]){
fwrite($fp, trim($urls_src[$i])."\n");
}
}
fclose($fp);
?>
|
|
|
|
|
www.fleshdomains.com
С нами с 08.08.05
Сообщения: 2228
Рейтинг: 1186
|
Добавлено: 18/01/06 в 06:30 |
чет не справился он с задачей
из такого списка
осталось
щас попробую его еще на серваке запустить
|
|
|
|
www.fleshdomains.com
С нами с 08.08.05
Сообщения: 2228
Рейтинг: 1186
|
Добавлено: 18/01/06 в 06:38 |
|
|
|
|
С нами с 14.11.05
Сообщения: 56
Рейтинг: 177
|
Добавлено: 18/01/06 в 14:17 |
А https://www.master-x.com/blablabla и не вернет 404. Он возвращает 302, потом 301 и наконец 200
По поводу списка урлов, есть изящное решение на perl'е с проверкой на существование. 66956754
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 18/01/06 в 15:17 |
Проверки на 404 ошибку нет.
Удаляются полностью идентичные урлы, т.е. если в конце урла будет стоять пробел, то он уникальный.
Или объясни задачу более понятнее...
из такого списка
должно остаться
верно?
|
|
|
|
www.fleshdomains.com
С нами с 08.08.05
Сообщения: 2228
Рейтинг: 1186
|
Добавлено: 18/01/06 в 16:45 |
да , правильно
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 18/01/06 в 17:40 |
Referal писал: | да , правильно |
значит в списке урлов урлы уникальные, то есть, если в одном урле есть пробел на конце и в такомже два пробела на конце, они считаются уникальными.
проверку на 404, можно быстро реализовать за деньги, если готов платить)
|
|
|
|
www.fleshdomains.com
С нами с 08.08.05
Сообщения: 2228
Рейтинг: 1186
|
Добавлено: 18/01/06 в 18:38 |
ibiz писал: | значит в списке урлов урлы уникальные, то есть, если в одном урле есть пробел на конце и в такомже два пробела на конце, они считаются уникальными.
|
пробелов на конце нету
Цитата: | проверку на 404, можно быстро реализовать за деньги, если готов платить) |
вряд ли я кому либо доверю эту базу на проверку
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 18/01/06 в 20:42 |
Referal писал: | пробелов на конце нету |
Тока что проверил, все пахает как надо, т.е. дубликаты удаляютца... хз в чом может быть дело.
Referal писал: | вряд ли я кому либо доверю эту базу на проверку |
я про скрипт за деньги, мне тут посоветовали теперь все за деньги писать
Будешь вечно пользоваться, закинул список урлов в файл, а на выходе получил работающие...
|
|
|
|