Java 使用crawler4j在请求中发送cookie?

Java 使用crawler4j在请求中发送cookie?,java,cookies,web-crawler,Java,Cookies,Web Crawler,我需要抓取一些链接,这些链接取决于GET请求中发送的cookie。 因此,当我想用crawler4j对页面进行爬网时,我需要发送一些cookies,以便返回正确的页面 这可能吗(我在网上搜索过,但没有找到有用的东西)?或者有没有一个Java爬虫能够做到这一点 感谢您的帮助。看来crawler4j可能不支持cookies: 有几种选择: 坚果 赫里特里克斯 韦伯斯菲克斯 杰斯皮德 网络食客 韦布雷赫 蜘蛛纲 若波 网络收获 前爬虫 比克索 我会说Nutch和Heritrix是最好的,我会特别强

我需要抓取一些链接,这些链接取决于GET请求中发送的cookie。 因此,当我想用crawler4j对页面进行爬网时,我需要发送一些cookies,以便返回正确的页面

这可能吗(我在网上搜索过,但没有找到有用的东西)?或者有没有一个Java爬虫能够做到这一点


感谢您的帮助。

看来crawler4j可能不支持cookies:

有几种选择:

  • 坚果
  • 赫里特里克斯
  • 韦伯斯菲克斯
  • 杰斯皮德
  • 网络食客
  • 韦布雷赫
  • 蜘蛛纲
  • 若波
  • 网络收获
  • 前爬虫
  • 比克索

我会说Nutch和Heritrix是最好的,我会特别强调Nutch,因为它可能是唯一一个设计成可以很好地扩展并实际执行大爬网的爬网程序。

这篇文章来的很晚,但实际上crawler4j在处理cookies方面做得很好。您甚至可以检查cookie值,因为您可以获得底层HTTP客户端(apache)。例如:

@Override
public void visit(Page page) {
    super.visit(page);

    DefaultHttpClient httpClient = (DefaultHttpClient) getMyController().getPageFetcher().getHttpClient();
    for (Cookie cookie : httpClient.getCookieStore().getCookies()) {
        if ( cookie.getName().equals("somename") ) {
            String value = cookie.getValue();
        }
    }
}

我简单地看了一下Nutch,但crawler4j似乎更易于集成(使用maven dependency只需5分钟),并且非常适合我的需要(我正在测试会话cookie是否在我的站点上跨大量请求进行维护)。

谢谢。我来看看。我有些怀疑!1) 如果(cookie.getName().equals(“somename”){String value=cookie.getValue();}我应该在哪里插入cookie,你能解释一下这部分吗?