Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сбор ссылок

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Скрипт который собырает ссылки...
Saflex
Отправлено: 16 Апреля, 2011 - 10:02:49
Post Id


Забанен


Покинул форум
Сообщений всего: 12
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Добрый день !
Сегодня мне понадобился скрипт сбора ссылок.
На сайте есть около порядка ~20 тис. ссылок, мне нужно их всех собрать и записать в тхт файл.
Пример одной ссылки: site.ru/mories.php?id=1.

Ну вот ребята может кто делал для себя, выложите пожалуйста, ну или хотя бы наведите на правильный путь :)

Если мне удастся собрать все ~20 тис. ссылок успешно и без напрягов, обязательно скину примерно 5-7$ на WebMoney или Yandex Money...

PS: На всяк случай оставлю свой ICQ:
5960387

С уважением, Тарас.
 
 Top
Fobius
Отправлено: 16 Апреля, 2011 - 10:35:32
Post Id


Гость


Покинул форум
Сообщений всего: 96
Дата рег-ции: Нояб. 2009  


Помог: 1 раз(а)




Очень многозначно описали.
Я понял так (хотя скорее всего неправильно понял): у вас в текстах на сайте вставлены ссылки, их нужно выписать, чтобы знать куда и сколько ссылается сайт. Для этого можно перелапатить всю базу проверяя тексты с помощью регулярних выражений (выражений с проверками "является ли кусок текста ссылкой" в сети достаточно). При нахождении таковых записать в текстовый файл.
Логика не сложна, гугл в руки.

Если мысль неверна, опишите задание детальнее
 
 Top
Saflex
Отправлено: 16 Апреля, 2011 - 10:46:12
Post Id


Забанен


Покинул форум
Сообщений всего: 12
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Fobius
Вы немножко не так поняли,
Нужно собрать ссылки не из текста, а например:
site.ru/mories.php?id=1. - Эта ссылка ведет на страницу пользователя с ID 1.
site.ru/mories.php?id=2. - Эта ссылка ведет на страницу пользователя с ID 2.
site.ru/mories.php?id=3. - Эта ссылка ведет на страницу пользователя с ID 3.

Нужно собрать все ссылки их примерно ~20 тис.
 
 Top
nikob
Отправлено: 16 Апреля, 2011 - 11:06:35
Post Id


Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Апр. 2011  


Помог: 1 раз(а)




Думаю немного не в том разделе написали, но все же..

Что значит "нужно собрать ссылки".

Как я понимаю есть ссылки вида site.ru/mories.php?id=2 , нужно что собрать? Просто href?
 
 Top
Fobius
Отправлено: 16 Апреля, 2011 - 12:47:25
Post Id


Гость


Покинул форум
Сообщений всего: 96
Дата рег-ции: Нояб. 2009  


Помог: 1 раз(а)




Вторая попытка понять.

Вам нужно собрать адреса всех возможных страниц вашего сайта? Тогда в зависимости от структуры динамически подсчитайте... тут наверно к каждому сайту индивидуальный подход нужен.

Из универсальных методов - попробуйте воспользоваться google sitemap generator, получите набор адресов страниц в формате sitemap.xml, а там себе редактируйте файл в любом текстовом редакторе как Вам нужно...
 
 Top
Saflex
Отправлено: 16 Апреля, 2011 - 12:51:56
Post Id


Забанен


Покинул форум
Сообщений всего: 12
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Fobius
Мне нужен скрипт именно написан на PHP, я понял как еще поподробней вам объяснить. На сайте есть страница со все ма пользователями сайта вот оттуда нужно собрать все ссылки...
 
 Top
ams
Отправлено: 16 Апреля, 2011 - 12:57:32
Post Id



Посетитель


Покинул форум
Сообщений всего: 351
Дата рег-ции: Нояб. 2010  


Помог: 13 раз(а)




Saflex пишет:
Ну вот ребята может кто делал для себя, выложите пожалуйста, ну или хотя бы наведите на правильный путь Улыбка

Если это твой сайт, то делай через БД. А если нет, то походу самое оптимальное это CRON
 
 Top
Saflex
Отправлено: 16 Апреля, 2011 - 13:36:04
Post Id


Забанен


Покинул форум
Сообщений всего: 12
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




ams пишет:
Saflex пишет:
Ну вот ребята может кто делал для себя, выложите пожалуйста, ну или хотя бы наведите на правильный путь Улыбка

Если это твой сайт, то делай через БД. А если нет, то походу самое оптимальное это CRON



Если бы это был мой сайт я бы сюда не писал ;)
Наведите на правильный путь, может у кого-то есть наработки?
 
 Top
Fobius
Отправлено: 16 Апреля, 2011 - 14:06:32
Post Id


Гость


Покинул форум
Сообщений всего: 96
Дата рег-ции: Нояб. 2009  


Помог: 1 раз(а)




читай про curl
 
 Top
ams
Отправлено: 16 Апреля, 2011 - 23:24:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 351
Дата рег-ции: Нояб. 2010  


Помог: 13 раз(а)




ams пишет:
то походу самое оптимальное это CRON

curl* Радость
 
 Top
life
Отправлено: 17 Апреля, 2011 - 03:22:53
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




тс стукни в асю пять7109961одын
 
 Top
Мелкий Супермодератор
Отправлено: 17 Апреля, 2011 - 11:34:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Резюмируя вышесказанное:
известны ссылки вида
site.ru/mories.php?id=\d
\d принадлежит диапазону 1...20000
необходимо найти те ссылки, которые живы.

Если сайт не жадный и на отсутствующую страницу отдаёт не 200, а, например, 404 как и должен:
PHP:
скопировать код в буфер обмена
  1. function is_page_life($page) {
  2. $ch = curl_init($page);
  3. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  4. curl_exec($ch);
  5. $res = curl_getinfo($ch,CURLINFO_HTTP_CODE);
  6. if ($res == 200) return true;
  7. else return false;
  8. }
  9. $fp = fopen('log.txt','a');
  10. for ($i=1;$i<20000;$i++) {
  11. if (is_page_life('site.ru/mories.php?id='.$i)) fwrite($fp,'site.ru/mories.php?id='.$i.PHP_EOL);
  12. sleep(1);
  13. }
  14. fclose($fp);


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB