Fala pessoal, tranquilo? Eu tô fazendo um crawler e ta ficando bem legalzinho, ta pegando bem as urls e tal…
O problema é no Regex de telefone, que ele pega varios números aleatórios:
Mas também pega bem os telefones:
Regex:
\(?\d{2,}\)?[ -]?\d{4,}[\-\s]?\d{4}
Código:
String phone_regex = "\\(?\\d{2,}\\)?[ -]?\\d{4,}[\\-\\s]?\\d{4}";
Pattern patternPhone = Pattern.compile(phone_regex);
....
String phoneTxt = doc.text(); //pego o texto da pagina
Matcher matcherPhone = patternPhone.matcher(phoneTxt); //vejo se algo bate com o meu regex
while (matcherPhone.find()) {
if (!listOfPhone.contains(matcherPhone.group())) { //se achar algo igual adiciona no list e no array
listOfPhone.add(matcherPhone.group());
String[] itemsArray = new String[listOfPhone.size()];
itemsArray = listOfPhone.toArray(itemsArray);
crawler.setTelefones(itemsArray);
phone_txtArea.append(matcherPhone.group() + "; ");
}
}
Alguém conhece algum que funcione legal?
(já procurei em varios sites, o problema é que alguns não reconhecem quando tem a separação de telefones com / ou - e até mesmo quebra de linha…)
Vlw pessoal