Sono molto nuovo in questo web crawling. Sto utilizzando crawler4j per eseguire la scansione dei siti Web. Sto raccogliendo le informazioni richieste eseguendo la scansione di questi siti. Il mio problema qui è che non ero in grado di eseguire la scansione del contenuto per il seguente sito. http://www.sciencedirect.com/science/article/pii/S1568494612005741. Voglio sottoporre a scansione le seguenti informazioni dal sito di cui sopra (Si prega di dare un'occhiata allo screenshot allegato).Scansione web (pagine abilitate Ajax/JavaScript) utilizzando java
Se si osserva lo screenshot allegato ha tre nomi (evidenziato in caselle rosse). Se fai clic su uno dei link vedrai un popup e quel popup contiene l'intera informazione su quell'autore. Voglio carpire le informazioni che ci sono in quel popup.
Sto utilizzando il seguente codice per eseguire la ricerca per indicizzazione del contenuto.
public class WebContentDownloader {
private Parser parser;
private PageFetcher pageFetcher;
public WebContentDownloader() {
CrawlConfig config = new CrawlConfig();
parser = new Parser(config);
pageFetcher = new PageFetcher(config);
}
private Page download(String url) {
WebURL curURL = new WebURL();
curURL.setURL(url);
PageFetchResult fetchResult = null;
try {
fetchResult = pageFetcher.fetchHeader(curURL);
if (fetchResult.getStatusCode() == HttpStatus.SC_OK) {
try {
Page page = new Page(curURL);
fetchResult.fetchContent(page);
if (parser.parse(page, curURL.getURL())) {
return page;
}
} catch (Exception e) {
e.printStackTrace();
}
}
} finally {
if (fetchResult != null) {
fetchResult.discardContentIfNotConsumed();
}
}
return null;
}
private String processUrl(String url) {
System.out.println("Processing: " + url);
Page page = download(url);
if (page != null) {
ParseData parseData = page.getParseData();
if (parseData != null) {
if (parseData instanceof HtmlParseData) {
HtmlParseData htmlParseData = (HtmlParseData) parseData;
return htmlParseData.getHtml();
}
} else {
System.out.println("Couldn't parse the content of the page.");
}
} else {
System.out.println("Couldn't fetch the content of the page.");
}
return null;
}
public String getHtmlContent(String argUrl) {
return this.processUrl(argUrl);
}
}
Sono stato in grado di eseguire la scansione del contenuto dal collegamento/sito di cui sopra. Ma non ha le informazioni che ho segnato nelle caselle rosse. Penso che quelli siano i collegamenti dinamici.
- La mia domanda è come posso eseguire la scansione del contenuto dal collegamento/sito Web di cui sopra ... ???
- Come eseguire la ricerca per indicizzazione del contenuto da siti Web basati su Ajax/JavaScript ... ???
Per favore qualcuno può aiutarmi in questo.
Grazie & Saluti, Amar
r u got soluzione per questo problema.? – BasK
non so quale sia l'inizio e la fine. quindi puoi spiegare un breve codice e spiegare? – BasK