Autor Tópico: [java] Webcrawler  (Lida 4485 vezes)

Offline KTachyon

  • Global Moderator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://twitter.com/KTachyon
[java] Webcrawler
« em: Novembro 24, 2008, 11:38:23 am »
Bem, estou de momento a desenvolver um projecto de Web Semântica, em que o tema é um motor de pesquisa semântico. Como esta secção do Webtuga não tem assim muito grande aderência, decidi criar um onde vou colocar os resultados do meu trabalho.

Existem muitos crawlers na internet (para sacar mails das páginas, para spam, sacar os links de uma página, ou mesmo sacar as páginas em si e realizando a indexação automática dos conteúdos). Entre outros, o Nutch, o Web Harvester e o Heritrix. Daqui, o que me interessa mais exactamente é o Web Harvester, que saca o HTML das páginas para que possa ser trabalhado por mim para fazer a indexação segundo uma ontologia que desenvolvi para o motor de pesquisa semântico. No entanto, o Web Harvester é um pouco instável, e implementar um Web Crawler do zero não é assim muito complicado.

O desenvolvimento vai começar neste preciso momento, altura em que não tenho absolutamente código nenhum para mostrar, e, para facilidade e rapidez do desenvolvimento do meu projecto, irá ser desenvolvido tendo em conta as minhas necessidades.

Para os interessados, fiquem atentos ao desenrolar deste tópico.
« Última modificação: Novembro 24, 2008, 11:38:44 am por KhAoTiK_TaChYoN »
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

Offline Teotónio Ricardo

  • Administrator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://www.teotonio.pt
[java] Webcrawler
« Responder #1 em: Novembro 24, 2008, 11:39:53 am »
Força com isso

Offline KTachyon

  • Global Moderator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://twitter.com/KTachyon
[java] Webcrawler
« Responder #2 em: Novembro 24, 2008, 01:05:59 pm »
1ª fase:

Código: [Seleccione]
import java.util.*;
import java.util.regex.*;
import java.io.*;
import java.net.*;

public class myCrawler {

private String initURL;

public static void main(String args[]) {
myCrawler mC = new myCrawler(args[0]);
mC.go();
}

public myCrawler(String initURL) {
this.initURL = initURL;
}

public void go() {
try {
parse4URLs(initURL, getWebPage(initURL));
}
catch (Exception e) {
e.printStackTrace();
}
}

private String getWebPage(String myURL) throws Exception {
String response = "", line;

URL url = new URL(myURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));

while((line = rd.readLine()) != null)
response += line + "\n";

return response;
}

private LinkedList<String> parse4URLs(String urlString, String htmlData) {
LinkedList<String> res = new LinkedList<String>();
String regEx = " href=\"(.+?)\"";

String urlParser = "http://(.+?)/";
Pattern regExPattern = Pattern.compile(urlParser);
Matcher matchRegEx = regExPattern.matcher(urlString);

if (!matchRegEx.find()) {
urlParser = "http://(.+?)";
regExPattern = Pattern.compile(urlParser);
matchRegEx = regExPattern.matcher(urlString);
}

String domain = "http://" + matchRegEx.group(1);

// Extract image, flash, etc. addresses
//regEx = " src=\"(.+?)\" ";

regExPattern = Pattern.compile(regEx);
matchRegEx = regExPattern.matcher(htmlData);

String dom = urlString.substring(urlString.indexOf("."), urlString.indexOf("/", urlString.indexOf(".")+1));
dom = dom.replace(".", "\\.");

String domRegEx = "http://(.+?)" + dom;
Pattern domRegExPattern = Pattern.compile(domRegEx);
Matcher domRegExMatcher;

while (matchRegEx.find()) {
String found = matchRegEx.group(1);

if (!found.startsWith("http")) {
if (found.startsWith("/"))
found = domain + found;
else
found = "http://" + found;
}

domRegExMatcher = domRegExPattern.matcher(found);

if (domRegExMatcher.find()) {
res.add(found);
System.out.println(found);
}
}

return res;
}
}


Código: [Seleccione]
java -jar "myCrawler.jar" http://www.youtube.com/
Código: [Seleccione]
[Session started at 2008-11-24 13:03:53 +0000.]
http://www.youtube.com/opensearch?locale=en_US
http://www.youtube.com/rssls
http://m.youtube.com/index?desktop_uri=%2F&
http://www.youtube.com/
http://www.youtube.com/watch_queue?all
http://help.youtube.com/support/youtube/bin/static.py?page=start.cs&hl=en-US
http://www.youtube.com/
http://www.youtube.com/browse
http://www.youtube.com/members
http://www.youtube.com/community
http://www.youtube.com/my_videos_upload
http://www.youtube.com/my_videos_upload
http://www.youtube.com/my_videos_quick_capture
http://www.youtube.com/cthru?key=Ma4_T7Y_1r9I_IbzQru554nIm2BVM--Nt_-CVI0RVeKq_wFP1Gv3fC7kRnFlxd8ATzYAOXPteLxvWtrnxFlXTjoYABEGOGgVJ-653H5ak-rQdsPGYLb5O7eVzaInw48aBeTMQbSG7g5JFviHC90OcNchviKZaCOXqBY47SNOnLBkei1lrtlXyIRLfg
sRcaeE1m1dHaUMgcMHHG1-CIfOeA==
http://www.youtube.com/cthru?key=Ma4_T7Y_1r9I_IbzQru554nIm2BVM--Nt_-CVI0RVeKq_wFP1Gv3fC7kRnFlxd8ATzYAOXPteLxvWtrnxFlXTjoYABEGOGgVJ-653H5ak-rQdsPGYLb5O7eVzaInw48aBeTMQbSG7g5JFviHC90OcNchviKZaCOXqBY47SNOnLBkei1lrtlXyIRLfg
sRcaeE1m1dHaUMgcMHHG1-CIfOeA==
http://www.youtube.com/user/Katers17
http://www.youtube.com/cthru?key=ck919uSsesp-MrAUhTsf_-iuLbFNZd1OzHqLvmfwoltJDs-b7AJPkSkJnSeFuQHlW2u2mBXnLPqYJHdeLSsu651-9cyvm1cRMI2SmqTCa82Ha1qyPqY5mUdQCuAYTWDJ_3Vu5M9CJI-NsCoSK8fRNYWv5ZRq_RB8NnR2z4Ackih12mckYCQ4UFba4f9c3V25inbdV2mvpcoixkOIhboXoQ==
http://www.youtube.com/cthru?key=ck919uSsesp-MrAUhTsf_-iuLbFNZd1OzHqLvmfwoltJDs-b7AJPkSkJnSeFuQHlW2u2mBXnLPqYJHdeLSsu651-9cyvm1cRMI2SmqTCa82Ha1qyPqY5mUdQCuAYTWDJ_3Vu5M9CJI-NsCoSK8fRNYWv5ZRq_RB8NnR2z4Ackih12mckYCQ4UFba4f9c3V25inbdV2mvpcoixkOIhboXoQ==
http://www.youtube.com/user/yrf
http://www.youtube.com/cthru?key=P0oHvuuwqyFxufQy5xmX5QhNLt25SbLiGrNbp65mM8ouQZDKqNyyw5mqaUL2DX3k1L9F8bw5-HE9Wv-aiIQm__Wk_LVMfakF6X2d-7PZwBDaB-RF20axV37tKkx5XKLBVR85qSe29dVBVFu15yKBfLnTE3lFNPhinI3nez6GX2zsfXAYTLVE4p7n-7cQuYZ7Wfa7lLAjm32zI5xiIMCmEw==
http://www.youtube.com/cthru?key=P0oHvuuwqyFxufQy5xmX5QhNLt25SbLiGrNbp65mM8ouQZDKqNyyw5mqaUL2DX3k1L9F8bw5-HE9Wv-aiIQm__Wk_LVMfakF6X2d-7PZwBDaB-RF20axV37tKkx5XKLBVR85qSe29dVBVFu15yKBfLnTE3lFNPhinI3nez6GX2zsfXAYTLVE4p7n-7cQuYZ7Wfa7lLAjm32zI5xiIMCmEw==
http://www.youtube.com/user/SecretAgentBob
http://www.youtube.com/cthru?key=4ALDq-GT13KdC8eobmDyu_b2wphjobf9f_yiAwfQcfGlLCv_Beza1bcd8_y_aVQ57FeLH-A3O_FUQ4qaB5ySGVEJXUduSPBs5VoVpqDQfTNskylnuApGPtgdRz8MOHjOytuiVfkiLmJ30ujIbUAtAg
GyVaYqDiNGfsScU-YMTzWIVX8vVTNc97TdCwkS8toEDTWKDsXQVb8ygnY4Iy9rKw==
http://www.youtube.com/cthru?key=4ALDq-GT13KdC8eobmDyu_b2wphjobf9f_yiAwfQcfGlLCv_Beza1bcd8_y_aVQ57FeLH-A3O_FUQ4qaB5ySGVEJXUduSPBs5VoVpqDQfTNskylnuApGPtgdRz8MOHjOytuiVfkiLmJ30ujIbUAtAg
GyVaYqDiNGfsScU-YMTzWIVX8vVTNc97TdCwkS8toEDTWKDsXQVb8ygnY4Iy9rKw==
http://www.youtube.com/user/freddiew
http://www.youtube.com/browse?s=rf
http://www.youtube.com/watch?v=F-2zo9DacEc
http://www.youtube.com/watch_queue?all
http://www.youtube.com/watch?v=F-2zo9DacEc
http://www.youtube.com/watch?v=F-2zo9DacEc
http://www.youtube.com/user/Live
http://www.youtube.com/watch?v=NQv5V2Ljfa4
http://www.youtube.com/watch_queue?all
http://www.youtube.com/watch?v=NQv5V2Ljfa4
http://www.youtube.com/watch?v=NQv5V2Ljfa4
http://www.youtube.com/user/Live
http://www.youtube.com/watch?v=gw2JAsaCso0
http://www.youtube.com/watch_queue?all
http://www.youtube.com/watch?v=gw2JAsaCso0
http://www.youtube.com/watch?v=gw2JAsaCso0
http://www.youtube.com/user/Live
http://www.youtube.com/watch?v=TTIViMQQ3IE
http://www.youtube.com/watch_queue?all
http://www.youtube.com/watch?v=TTIViMQQ3IE
http://www.youtube.com/watch?v=TTIViMQQ3IE
http://www.youtube.com/user/Live
http://www.youtube.com/watch?v=OBHfb2sVWV4
http://www.youtube.com/watch_queue?all
http://www.youtube.com/watch?v=OBHfb2sVWV4
http://www.youtube.com/watch?v=OBHfb2sVWV4
http://www.youtube.com/user/Live
http://www.youtube.com/watch?v=b0S7LXH023M
http://www.youtube.com/watch_queue?all
http://www.youtube.com/watch?v=b0S7LXH023M
http://www.youtube.com/watch?v=b0S7LXH023M
http://www.youtube.com/user/Live
http://www.youtube.com/watch?v=7A0sjIh6_YQ
http://www.youtube.com/watch_queue?all
http://www.youtube.com/watch?v=7A0sjIh6_YQ
http://www.youtube.com/watch?v=7A0sjIh6_YQ
http://www.youtube.com/user/Live
http://www.youtube.com/watch?v=CG2irStCt_g
http://www.youtube.com/watch_queue?all
http://www.youtube.com/watch?v=CG2irStCt_g
http://www.youtube.com/watch?v=CG2irStCt_g
http://www.youtube.com/user/Live
http://www.youtube.com/watch?v=bbKWYVR9178
http://www.youtube.com/watch_queue?all
http://www.youtube.com/watch?v=bbKWYVR9178
http://www.youtube.com/watch?v=bbKWYVR9178
http://www.youtube.com/user/Live
http://www.youtube.com/watch?v=v2F-Emds6eA
http://www.youtube.com/watch_queue?all
http://www.youtube.com/watch?v=v2F-Emds6eA
http://www.youtube.com/watch?v=v2F-Emds6eA
http://www.youtube.com/user/Live
http://www.youtube.com/watch?v=ZOmU_2hYVM0
http://www.youtube.com/watch_queue?all
http://www.youtube.com/watch?v=ZOmU_2hYVM0
http://www.youtube.com/watch?v=ZOmU_2hYVM0
http://www.youtube.com/user/Live
http://www.youtube.com/watch?v=0jhu1f0xrDc
http://www.youtube.com/watch_queue?all
http://www.youtube.com/watch?v=0jhu1f0xrDc
http://www.youtube.com/watch?v=0jhu1f0xrDc
http://www.youtube.com/user/Live
http://www.youtube.com/browse?s=rf
http://www.youtube.com/t/captions_about
http://www.youtube.com/t/captions_about
http://www.youtube.com/t/annotations_about
http://www.youtube.com/t/annotations_about
http://www.youtube.com/blog
http://www.youtube.com/blog
http://www.youtube.com/live
http://www.youtube.com/live
http://www.youtube.com/my_videos
http://www.youtube.com/inbox
http://help.youtube.com/support/youtube/bin/static.py?page=start.cs&hl=en-US
http://help.youtube.com/group/youtube-help?hl=en_US
http://www.youtube.com/t/about
http://www.youtube.com/press_room
http://www.youtube.com/my_favorites
http://www.youtube.com/my_subscriptions
http://www.youtube.com/t/safety
http://www.youtube.com/t/dmca_policy
http://www.youtube.com/testtube
http://www.youtube.com/t/contact_us
http://www.youtube.com/my_playlists
http://www.youtube.com/my_account
http://www.youtube.com/dev
http://www.youtube.com/t/community_guidelines
http://www.youtube.com/t/terms
http://www.youtube.com/blog
http://www.youtube.com/advertise
http://www.youtube.com/youtubeonyoursite
http://www.youtube.com/t/privacy
http://www.youtube.com/t/yt_handbook_home

java has exited with status 0.
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

Offline KTachyon

  • Global Moderator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://twitter.com/KTachyon
[java] Webcrawler
« Responder #3 em: Novembro 24, 2008, 02:43:19 pm »
Fase final:

Após a criação do anterior programa, que faz o parsing, procurando pelos links de apenas uma página, apenas é necessário criar as condições para que o crawler aceda a esses links (rapidamente) e arrume as correspondentes páginas, associadas ao link em questão. Utilizei uma Hashtable para manter todos os links já encontrados e o código HTML correspondente à página. A rapidez é conseguida através de threads (o 3º parametro do crawler indica o número de threads que irão tratar das páginas).

O segundo parametro indica a profundidade do crawling. Pode-se considerar como parametro de paragem.

Não é 100% fiável, visto que não tenho nenhuma forma de controlo das threads, mas já serve para demonstrar como é um web crawler minimalista.

Código: [Seleccione]
import java.util.*;
import java.util.regex.*;
import java.io.*;
import java.net.*;

public class myCrawler extends Thread {

private String initURL;
private myCrawler sObj = null;
protected int depth = 0, maxDepth;
protected LinkedList<String> currentURLList;
protected LinkedList<String> nextURLList;
protected Hashtable<String, String> urlDataHT;

public static void main(String args[]) {
myCrawler mC = new myCrawler(args[0], Integer.parseInt(args[1]));
mC.init(Integer.parseInt(args[2]));
}

public myCrawler(String initURL, int maxDepth) {
this.initURL = initURL;
this.maxDepth = maxDepth;
urlDataHT = new Hashtable<String, String>();
sObj = this;

currentURLList = new LinkedList<String>();
nextURLList = new LinkedList<String>();
}

public myCrawler(myCrawler sObj) {
this.sObj = sObj;
}

public void init(int threads) {
try {
parse4URLs(initURL, getWebPage(initURL), depth);
}
catch (Exception e) {
System.out.println("Bad URL - check if it ends with /");
e.printStackTrace();
}

for (int i = 0; i < threads; i++) {
(new myCrawler(this)).start();
}
}

public void run() {
while (true) {
String url = "";
int myDepth = 0;

synchronized (sObj.currentURLList) {
if (sObj.currentURLList.isEmpty()) {
if (++sObj.depth < sObj.maxDepth) {
synchronized (sObj.nextURLList) {
sObj.currentURLList = sObj.nextURLList;
}

myDepth = sObj.depth;
url = sObj.currentURLList.remove(0);
}
}
else {
myDepth = sObj.depth;
url = sObj.currentURLList.remove(0);
}
}

if (url.equals("")) {
return;
}

try {
parse4URLs(url, getWebPage(url), depth);
}
catch (Exception e) {
System.out.println("Oh... crap... shit happens! " + url);
e.printStackTrace();
}
}
}

private String getWebPage(String myURL) throws Exception {
String response = "", line;

URL url = new URL(myURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));

while((line = rd.readLine()) != null)
response += line + "\n";

sObj.urlDataHT.put(myURL, response);

return response;
}

private void parse4URLs(String urlString, String htmlData, int currentDepth) {
String regEx = " href=\"(.+?)\"";

String urlParser = "http://(.+?)/";
Pattern regExPattern = Pattern.compile(urlParser);
Matcher matchRegEx = regExPattern.matcher(urlString);

if (!matchRegEx.find()) {
urlParser = "http://(.+?)";
regExPattern = Pattern.compile(urlParser);
matchRegEx = regExPattern.matcher(urlString);
}

String domain = "http://" + matchRegEx.group(1);

// Extract image, flash, etc. addresses
//regEx = " src=\"(.+?)\" ";

regExPattern = Pattern.compile(regEx);
matchRegEx = regExPattern.matcher(htmlData);

String dom = urlString.substring(urlString.indexOf("."), urlString.indexOf("/", urlString.indexOf(".")+1));
dom = dom.replace(".", "\\.");

String domRegEx = "^http://([^\\.]+?)" + dom;
Pattern domRegExPattern = Pattern.compile(domRegEx);
Matcher domRegExMatcher;

while (matchRegEx.find()) {
String found = matchRegEx.group(1);

if (!found.startsWith("http")) {
if (found.startsWith("/"))
found = domain + found;
else
found = "http://" + found;
}

domRegExMatcher = domRegExPattern.matcher(found);

if (domRegExMatcher.find()) {
if (!sObj.urlDataHT.containsKey(found)) {
synchronized (sObj.urlDataHT) {
sObj.urlDataHT.put(found, "");
}

if (currentDepth == sObj.depth)
synchronized (sObj.nextURLList) {
sObj.nextURLList.add(found);
}
else
synchronized (sObj.currentURLList) {
sObj.currentURLList.add(found);
}

System.out.println(found);
}
}
}
}
}
« Última modificação: Novembro 24, 2008, 03:25:36 pm por KhAoTiK_TaChYoN »
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

Offline tecnotape

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
[java] Webcrawler
« Responder #4 em: Março 10, 2009, 10:50:42 pm »
Olá amigo achei muito massa seu topico, mas não entendi 100% .

ele faz o redirecionamento para outra pagina como se tive-se no youtube ?
[color="#FF0000"][/color]

disculpa ae qualquer coisa mas q eu essa é minha primeira participação no forum

Offline KTachyon

  • Global Moderator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://twitter.com/KTachyon
[java] Webcrawler
« Responder #5 em: Março 11, 2009, 06:43:36 am »
Basicamente, ele começa com uma página inicial. Não significa que seja imediatamente o YouTube, depende de como executares.

Quanto ao processo, o programa irá pesquisar por URLs no código da página, que irão ser colocados numa tabela e, de seguida irá aprofundar a pesquisa para cada uma das páginas a que corresponde esse endereço, até ao nível máximo que for definido.

Ou seja, imagina que começas numa página com dois endereços para outras duas páginas distintas. Depois de achar esses dois endereços, o programa vai aceder a essas páginas e procurar por mais endereços. Se a profundidade definida ainda não tiver sido atingida, o programa volta a repetir o processo.

Não sei se a explicação está clara, mas podes ler mais em http://en.wikipedia.org/wiki/Web_crawler, se souberes inglês. Fiz uma pesquisa rápida, mas, infelizmente não encontrei nenhuma página com uma explicação em português.
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

Offline tecnotape

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
[java] Webcrawler
« Responder #6 em: Março 11, 2009, 03:36:01 pm »
exatamente isso mesmo q estava querendo .
add akele msn do seu perfil.

tem como vc me add ae para me passar algumas dicas?
tecnotape@hotmail.com
agradeço a atenção

Offline sp3c

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
[java] Webcrawler
« Responder #7 em: Março 11, 2009, 10:49:13 pm »
fiz um search crawler à uns tempos, tinha por aí um livro (ainda devo ter, mas tenho que procurar) que explicava como fazer um search crawler passo por passo


olha o teste, fiz um pesquisa em webtuga.com pela palavra SPEC o .log que ele devolveu continha estes links


Citar
http://webtuga.com
http://webtuga.com/
http://appletuga.com/
http://boorlix.com/
http://deskmodpt.org/
http://mobiletuga.com/
http://webtuga.com/categorias/
http://webtuga.com/bloggers/
http://ffmpeg-php.sourceforge.net/
http://webtuga.com/aim-crm-software-de-cus...hip-management/
http://webtuga.com/kumo-ja-envia-visitas-para-o-webtuga/
http://muziic.com/
http://blog.boxee.tv/2009/03/06/the-trials...-of-innovation/
http://webtuga.com/page/2/
http://webtuga.com/page/3/
http://webtuga.com/page/4/
http://feeds.feedburner.com/webtuga
http://amaczone.com/
http://32lvegas.com/pt
http://onlinecasinoswiss.com/pt/

olha um screen do programa em acção




o código é extenso demais para por aqui, caso alguém queira dar uma espreitadela é só dizer e envio por PM

EDIT:
O Livro chama-se Art of Java e tem lá o código todo deste exemplo acima...
« Última modificação: Março 11, 2009, 10:58:01 pm por sp3c »

Offline trmanco

  • Global Moderator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://trmanco.com
[java] Webcrawler
« Responder #8 em: Março 12, 2009, 06:41:05 pm »
heheheh

NetBeans http://www.webtuga.com/forum/public/style_emoticons/<#EMO_DIR#>/biggrin.png\' class=\'bbc_emoticon\' alt=\':D\' />

Offline KTachyon

  • Global Moderator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://twitter.com/KTachyon
[java] Webcrawler
« Responder #9 em: Abril 09, 2009, 04:22:05 am »
Epah, não sei por que carga de água é que tanta gente vem parar a este tópico e acha que eu tenho a fórmula secreta para algumas vulnerabilidades no YouTube e no Orkut. Isto é um crawler. Serve para seguir e registar links entre páginas. Não serve para fazer com que endereços do YouTube vão parar a servidores com exploits.

E não me peçam para fazer trabalhinhos destes a troco de dinheiro, porque não vão receber sequer resposta. E, se não percebem para que serve, então nem vale a pena sequer vir falar comigo acerca disto.

Obrigado pela compreensão.
« Última modificação: Abril 09, 2009, 04:25:06 am por KhAoTiK_TaChYoN »
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

Offline chicao

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
[java] Webcrawler
« Responder #10 em: Junho 05, 2009, 09:56:16 pm »
Sp3c, estou estudando sobre o funcionando desses sistemas de webcrawler. Você poderia me enviar seu code para eu entender como a lógica funciona??

chico00@gmail.com

Um Abraço amigo

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49