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
Форумы портала PHP.SU :: Версия для печати :: Получить все внешние ссылки
Форумы портала PHP.SU » PHP » Регулярные выражения » Получить все внешние ссылки

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

1. Demeus - 22 Апреля, 2010 - 16:45:29 - перейти к сообщению
Привет эксперты! Помогите с проблемой. есть много сайтов с которых надо собрать все внешние ссылки с анкорами и все это дело записать в файл. как это лучше сделать. Предполагаю, что нужно получить содержимое страницы с помощью file_get_contents, а что дальше?
(Добавление)
дальше продолжу Улыбка опытном путем все таки получил ссылки используя это код
PHP:
скопировать код в буфер обмена
  1.  
  2. $open_url="http://www.shoptop.ru/";
  3. $html=file_get_contents($open_url);
  4.  
  5. preg_match_all('~<a.*?href="([^"]+)".*?>(.*?)</a>~s', $html, $matches);
  6.  print_r($matches);
  7.  

Но к сожалению, он не всегда выводит то что нужно, а именно как раз в этом случае. Как мне убрать весь мусор и оставить только внешние ссылки?
2. trot - 22 Апреля, 2010 - 21:22:48 - перейти к сообщению
Что значит "внешние ссылки"?
3. Demeus - 22 Апреля, 2010 - 22:35:38 - перейти к сообщению
внешние ссылки, это ссылки на другие доменные имена
4. Phantik - 23 Апреля, 2010 - 09:03:19 - перейти к сообщению
Переписать регулярку так, что бы исключались из шаблона ссылки содержащие в адресе свой домен.
Либо перебирать все выбранные ссылки, искать в них вхождение ".mydomain." или "/mydomain." и исключать их из итогового списка.
5. JustUserR - 23 Апреля, 2010 - 12:11:33 - перейти к сообщению
Demeus пишет:
Предполагаю, что нужно получить содержимое страницы с помощью file_get_contents, а что дальше?
Если страница находится на удаленном web-сервере то такой способ наименее хороший - ведь для запроса страниц может потребоваться использование cookie и набор определенных HTTP-заголовок или POST-запрос - а могут быть с сайты со сложными формами запросов multipart или keep-alive - по этой причине следует использовать только CURL или socktes

 

Powered by ExBB FM 1.0 RC1