Fala aí pessoal, tudo bem? Alguém sabe dizer qual é o framework utilizado neste gif acima? É de uma plataforma brasileira, achei bem interessante.
Isso é um webscrapping?
Fala aí pessoal, tudo bem? Alguém sabe dizer qual é o framework utilizado neste gif acima? É de uma plataforma brasileira, achei bem interessante.
Isso é um webscrapping?
Bem capaz de ser web crawler, mas difícil ter certeza sem saber exatamente o que ele está realmente está fazendo.
Output do Netbeans:
Output do Banco de Dados (MongoDB)
Consegui desenrolar um pouco aqui…
Código pra quem se interessar:
private static final Pattern PATTERN_DOMAIN_NAME;
private static final String DOMAIN_NAME_PATTERN = "([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}";
private static final String TERM_SEARCH = "lucastody";
private static final int RESULTS_NUMBER = 20;
private Matcher matcher;
private void registerUrl(String url, String term, String results) {
try {
Site user = new Site();
user.setUrl(url);
user.setTerm_searched(term);
user.setResults(results);
new SiteDao().save(user);
//list users in database
// List users = new UserDao().findUsers();
// for (Object person : users) {
// System.out.println(person.toString());
// }
} catch (Exception e) {
e.printStackTrace();
}
}
static {
PATTERN_DOMAIN_NAME = Pattern.compile(DOMAIN_NAME_PATTERN);
}
public static void main(String[] args) {
Main obj = new Main();
Set<String> result = obj.getDataFromGoogle(TERM_SEARCH);
result.forEach((temp) -> {
System.out.println(temp);
});
System.out.println(result.size());
}
public String getDomainName(String url) {
String domainName = "";
matcher = PATTERN_DOMAIN_NAME.matcher(url);
if (matcher.find()) {
domainName = matcher.group(0).toLowerCase().trim();
}
return domainName;
}
private Set<String> getDataFromGoogle(String query) {
Set<String> result = new HashSet<String>();
String request = "https://www.google.com/search?q=" + query + "&num=" + RESULTS_NUMBER;
System.out.println("Enviando requisição..." + request);
try {
Document doc = Jsoup
.connect(request)
.userAgent("Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)")
.timeout(5000).get();
// pegar todos os links
Elements links = doc.select("a[href]");
for (Element link : links) {
String temp = link.attr("href");
if (temp.startsWith("/url?q=")) {
//regex pra pegar o dominio
result.add(getDomainName(temp));
registerUrl(getDomainName(temp), TERM_SEARCH, String.valueOf(RESULTS_NUMBER));
}
}
} catch (IOException e) {
e.printStackTrace();
}
return result;
}