首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Heritrix3.2.0能够抓取基于ajax的网站吗?

Heritrix3.2.0能够抓取基于ajax的网站吗?
EN

Stack Overflow用户
提问于 2015-04-05 15:27:05
回答 1查看 419关注 0票数 2

是否可以使用Heritrix-3.2.0抓取基于ajax的网站?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-07 14:14:34

如果你想做一个ajax网站的“副本”,显然不是。

如果您想通过分析网站的内容来获取一些数据,您可以使用Extractor自定义爬虫,以确定要遵循哪个URL。在大多数网站上,您可以轻松地猜出对您的情况感兴趣的urls,而不必解释javascript。然后,ajax回调将被爬行并交给处理器链。默认情况下,这将将ajax回调答案存储在归档文件中。

你自己的抽油车看起来是这样的:

代码语言:javascript
复制
    import org.archive.modules.extractor.ContentExtractor;
    import org.archive.modules.extractor.LinkContext;
    import org.archive.modules.extractor.Hop;
    import org.archive.io.ReplayCharSequence;
    import org.archive.modules.CrawlURI;

    public class MyExtractor extends ContentExtractor {
    @Override
    protected boolean shouldExtract(CrawlURI uri) {
        return true;
    }

    @Override
    protected boolean innerExtract(CrawlURI curi) {
        try {
            ReplayCharSequence cs = curi.getRecorder().getContentReplayCharSequence();
            // ... analyse the page content cs as a CharSequence ...

            // decide you want to crawl some page with url [uri] :
            addOutlink( curi, uri, LinkContext.NAVLINK_MISC, Hop.NAVLINK );
    }

编译,将jar文件放在heritrix/lib目录中,并在fetchProcessors链中插入一个引用fetchProcessors的bean :基本上,复制爬行作业cxml文件中的extractorHtml行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29458870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档