нужно отпарсить и выпарсить - Форум успешных вебмастеров - GoFuckBiz.com - Страница 2
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB90.1887
BTC/USD67731.5814
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 27.09.2010, 16:46
Start Post: нужно отпарсить и выпарсить 
  #11
palkin
чо ваще
 
Аватар для palkin
 
Регистрация: 15.07.2009
Сообщений: 116
Бабло: $22245
По умолчанию

есть база sql размером 3гб
нужно оттуда выпарсить мыльники
чем пользоваться?
palkin вне форума  
Старый 27.09.2010, 18:47   #12
ShowMeDaMoney
Мегапихарь
 
Аватар для ShowMeDaMoney
 
Регистрация: 27.01.2010
Сообщений: 87
Бабло: $15975
По умолчанию

Цитата:
Сообщение от chesser Посмотреть сообщение
Код:
mysqldump -u user -p dbname | grep -E -o -h '[a-zA-Z]+@([a-zA-Z]+\.)+[a-zA-Z]{2,3}' | tr A-Z a-z | sort | uniq
кто короче?
Регекспы и греп, конечно, круто, только 3 гига всё-таки.

Offtopic
__________________
СелявиСильвуплеДеньгиПокажи
ShowMeDaMoney вне форума  
Старый 27.09.2010, 18:50   #13
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
По умолчанию

правда если 3гига и памяти мало, то буфера может не хватить. Лучше дамп в промежуточный файл слить:
Код:
mysqldump -u user -p dbname > sqldump.sql
grep -E -o -h '[a-zA-Z]+@([a-zA-Z]+\.)+[a-zA-Z]{2,3}' sqldump.sql | tr A-Z a-z | sort | uniq
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 27.09.2010, 18:53   #14
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
По умолчанию

Цитата:
Сообщение от ShowMeDaMoney Посмотреть сообщение
Регекспы и греп, конечно, круто, только 3 гига всё-таки.
а как ты без регекспов емейлы надергаешь из произвольного текста? - почти никак.
а 3 гига для системной команды grep - это не проблема....ну подождешь немного, уж она то точно работает быстрее других вариантов и правильно использует системные ресурсы.
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 27.09.2010, 18:54   #15
ShowMeDaMoney
Мегапихарь
 
Аватар для ShowMeDaMoney
 
Регистрация: 27.01.2010
Сообщений: 87
Бабло: $15975
По умолчанию

Цитата:
Сообщение от chesser Посмотреть сообщение
правда если 3гига и памяти мало, то буфера может не хватить. Лучше дамп в промежуточный файл слить:
Код:
mysqldump -u user -p dbname > sqldump.sql
grep -E -o -h '[a-zA-Z]+@([a-zA-Z]+\.)+[a-zA-Z]{2,3}' sqldump.sql | tr A-Z a-z | sort | uniq
Ну,да. Тогда, в случае если мылы только из одного поля интересуют:
mysqldump -u user -p dbname tablename -w "email<>NULL" > emails.sql
grep -E -o -h '[a-zA-Z]+@([a-zA-Z]+\.)+[a-zA-Z]{2,3}' sqldump.sql | tr A-Z a-z | sort | uniq[/CODE][/QUOTE]
__________________
СелявиСильвуплеДеньгиПокажи
ShowMeDaMoney вне форума  
Старый 27.09.2010, 18:58   #16
ShowMeDaMoney
Мегапихарь
 
Аватар для ShowMeDaMoney
 
Регистрация: 27.01.2010
Сообщений: 87
Бабло: $15975
По умолчанию

Цитата:
Сообщение от chesser Посмотреть сообщение
а как ты без регекспов емейлы надергаешь из произвольного текста? - почти никак.
а 3 гига для системной команды grep - это не проблема....ну подождешь немного, уж она то точно работает быстрее других вариантов и правильно использует системные ресурсы.
В том-то и дело, что если это таблица, т.е. данные структурированны, для начала можно отрезать ненужные поля, что уменьшит обьём того, что будем парсить и ускорим процесс.

Регекспы круть, но не панацея, имхо. Чем больше обьём данных тем выше вероятность того, что где-то всё перекосится. Натыкался на такое иногда.
__________________
СелявиСильвуплеДеньгиПокажи
ShowMeDaMoney вне форума  
Старый 27.09.2010, 19:00   #17
imgreen
Senior Member
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 13,236
Бабло: $247846681
По умолчанию

Цитата:
Сообщение от ShowMeDaMoney Посмотреть сообщение
В том-то и дело, что если это таблица, т.е. данные структурированны, для начала можно отрезать ненужные поля, что уменьшит обьём того, что будем парсить и ускорим процесс.

Регекспы круть, но не панацея, имхо. Чем больше обьём данных тем выше вероятность того, что где-то всё перекосится. Натыкался на такое иногда.
если правильно регексп составлен, ничего не перекосится
imgreen вне форума  
Старый 27.09.2010, 19:06   #18
ShowMeDaMoney
Мегапихарь
 
Аватар для ShowMeDaMoney
 
Регистрация: 27.01.2010
Сообщений: 87
Бабло: $15975
По умолчанию

Цитата:
Сообщение от imgreen Посмотреть сообщение
если правильно регексп составлен, ничего не перекосится
А кто собирается спецом неправильно его писать?
Много лет назад в универе мне вбивали в голову, что даже самый невероятный процесс имеет место быть, если в запасе у нас неограниченное количество времени. Соответственно, наша задача сократить время процесса и уменьшить вероятность того, что он выдаст что-то невероятное
__________________
СелявиСильвуплеДеньгиПокажи
ShowMeDaMoney вне форума  
Старый 27.09.2010, 19:10   #19
ShowMeDaMoney
Мегапихарь
 
Аватар для ShowMeDaMoney
 
Регистрация: 27.01.2010
Сообщений: 87
Бабло: $15975
По умолчанию

Кстати
[a-zA-Z]+@([a-zA-Z]+\.)+[a-zA-Z]{2,3}
Я редко пользую их, но что-то мне подсказывает, что эта конструкция может неадекватно отреагировать на мыло:
1. уюзер в имени может иметь точку [email protected]
2. {2,3} - а как насчёт домена info ?
__________________
СелявиСильвуплеДеньгиПокажи
ShowMeDaMoney вне форума  
Старый 27.09.2010, 20:05   #20
imgreen
Senior Member
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 13,236
Бабло: $247846681
По умолчанию

[a-zA-Z\.]+@([a-zA-Z]+\.)+[a-zA-Z]{2,4}
так лучше?)

Цитата:
А кто собирается спецом неправильно его писать?
я понимаю о чем ты, но для такой задачи как поиск email, сложно составить регулярку, которая выдаст неадекватные результаты
imgreen вне форума  
Старый 27.09.2010, 20:39   #21
super
Ебланнед
 
Регистрация: 03.06.2008
Сообщений: 3,846
Бабло: $432125
По умолчанию

бял я под вином, щас ещё чуть чуть и захочу что - нибудь бесплатно написать ))))))
super вне форума  
Закрытая тема