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 :: Парсер email адресов с сайта.

 PHP.SU

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


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

> Описание: Помогите с парсером для сбора email адресов с сайта..
armyan
Отправлено: 07 Ноября, 2010 - 02:17:07
Post Id


Новичок


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


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




Привет всем гуру =) Уже 2 день лазаю по всяким форумам и поискам и не могу найти нечего стоящего. Вообщем что мне нужно. Парсер майл адресов со всего сайта не только с 1 страницы это не так уж и трудно сделать а вот что бы он парсил все какие только есть страницы я что то не могу придумать как это сделать. Должно быть так к примеру я ввел адрес сайта к примеру www[dot]site[dot]ru он заходит на этот сайт и парсит все страницы а их может быть очень много около 100 000 а то и больше и если попадается что то похожие на майл то он парсит его после того как он пройдется по всем страницам должен сохранить в тхт файл аили cvs ну или пусть хотя бы сделает массив. как это сделать не как не могу понять. =( Если кого не затруднит киньте примерчик или может уже где то такое делали? Буду очень признателен а то вин приложения в топку 1) не удобно с ними работать 2) запускать их под виндой это просто ужас 3) постоянно надо быть рядом и задавать ей имена сайтов и тд. а скрипт закинул на сервант кинул тхт файл с ссылками и все пошел гулять =) а он за тебя работает без остановок)

пс: заранее спасибо за помощь быдло кодеру =)
 
 Top
OrmaJever Модератор
Отправлено: 07 Ноября, 2010 - 12:57:09
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




ну регурярка примерно такая
CODE (htmlphp):
скопировать код в буфер обмена
  1. '#(.+?)\@([a-z0-9-_]+)\.(ru|net|com|ua|tv)#i'

там можно немного подправить под отдельные случаи. Но в общем должно работать


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
HotBird
Отправлено: 07 Ноября, 2010 - 13:48:34
Post Id



Гость


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


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




Другой вариант регулярки
CODE (htmlphp):
скопировать код в буфер обмена
  1. "/ [a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6} /"


-----
Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев.
Качественный хостинг по доступной цене
 
 Top
armyan
Отправлено: 07 Ноября, 2010 - 16:06:40
Post Id


Новичок


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


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




Спасибо за регулярки это дело понятно что через них нужно вытягивать майлы проблема у меня немного в другом как именно парсить все страницы сайта. я же не буду на каждую страницу заходить и парсить от туда. это во первых через чур тупо да и не разумно. как бы мне сделать так что бы просто задав домен сайта что бы он пробегался по всем существующим страницам и уже потом при помощи регулярки дергал мыло. вся загвоздка у меня в том что не знаю как пробежаться по всем страницам сайта.
 
 Top
OrmaJever Модератор
Отправлено: 07 Ноября, 2010 - 16:46:52
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




ну можно например так
PHP:
скопировать код в буфер обмена
  1.  
  2. $page = array('index.php', 'news.php', 'users.php'); //перечислить все страницы сайта.
  3.  
  4. foreach($page as $p)
  5. {
  6.     $x = curl('http://site.ru/'.$p);
  7.     preg_match_all('#(.+?)\@([a-z0-9-_]+)\.(ru|net|com|ua|tv)#i', $x , $a);
  8. }

Но тут в любом случае придётся вписывать страницы в масив.
функция курл
PHP:
скопировать код в буфер обмена
  1.  function curl($url='', $post='', $referer='', $proxy='')
  2.  {
  3.         $cl = curl_init();
  4.         curl_setopt($cl, CURLOPT_URL, $url);
  5.         curl_setopt($cl, CURLOPT_RETURNTRANSFER,1);
  6.         curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.2.15 Version/10.10');
  7.         curl_setopt($cl, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
  8.         curl_setopt($cl, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
  9.         if(!empty($post)) {curl_setopt($cl, CURLOPT_POST, 1); curl_setopt($cl, CURLOPT_POSTFIELDS, $post);}else{curl_setopt($cl, CURLOPT_POST, 0);}
  10.         if(!empty($referer)){curl_setopt($cl, CURLOPT_REFERER, $referer);}else{curl_setopt($cl,CURLOPT_REFERER, 1);}
  11.         if(!empty($proxy)) {curl_setopt($cl, CURLOPT_PROXY, $proxy);}
  12.         $ex=curl_exec($cl);
  13.         curl_close($cl);
  14.         return $ex;
  15.  }

(Отредактировано автором: 07 Ноября, 2010 - 16:50:58)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Starlord
Отправлено: 07 Ноября, 2010 - 17:25:35
Post Id



Новичок


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


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




Велосипед уже изобретен... А?!
Есть множество сканеров с широким спектром возможностей, которые нетолько "парсят" открытые e-mail адреса. Из них можно выделить неплохой сканер от Acunetix. Закатив глазки


-----
Спасибо сообществу php.su за помощь...
 
 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