java 爬网_使用java进行Web爬网(使用Ajax / JavaScript的页面)

我对这个网络抓取非常新.我正在使用crawler4j来抓取网站.我通过抓取这些网站来收集所需的信息.我的问题是我无法抓取以下网站的内容.

http://www.sciencedirect.com/science/article/pii/S1568494612005741.我想从上述网站抓取以下信息(请查看随附的屏幕截图).

如果您观察到附加的屏幕截图,则它有三个名称(在红色框中突出显示).如果单击其中一个链接,您将看到一个弹出窗口,该弹出窗口包含有关该作者的全部信息.我想抓取该弹出窗口中的信息.

我使用以下代码来抓取内容.

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);

}

}

我能够抓取上述链接/网站中的内容.但它没有我在红色框中标记的信息.我认为那些是动态链接.

>我的问题是如何从上述链接/网站抓取内容…… ???

>如何从基于Ajax / JavaScript的网站抓取内容…… ???

请允许任何人帮助我.

谢谢&问候,

阿马尔

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值