Отправлять куки в запросе crawler4j? - PullRequest
3 голосов
/ 16 декабря 2011

Мне нужно получить некоторые ссылки, которые зависят от отправленных файлов cookie в запросе GET.Поэтому, когда я хочу сканировать страницу с помощью crawler4j, мне нужно отправить несколько файлов cookie с ней, чтобы получить правильную страницу.

Возможно ли это (я искал в Интернете это, но не нашел что-то полезное)?Или есть Java-сканер, который способен это сделать?

Любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 16 декабря 2011

Похоже, что crawler4j может не поддерживать файлы cookie: http://www.webuseragents.com/ua/427106/crawler4j-http-code-google-com-p-crawler4j-

Существует несколько альтернатив:

  • Nutch
  • Heritrix
  • WebSPHINX
  • JSpider
  • WebEater
  • WebLech
  • Паукообразный
  • JoBo
  • Web-Harvest
  • Ex-Crawler
  • Bixo

Я бы сказал, что Nutch и Heritrix являются лучшими, и я бы особо подчеркнул Nutch, потому что это, вероятно, один из спроектированных гусеничных машин.хорошо масштабироваться и фактически выполнять большое сканирование.

0 голосов
/ 14 октября 2014

Опаздывает в эту ветку, но на самом деле crawler4j хорошо справляется с обработкой файлов cookie.Вы даже можете проверить значения файлов 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 кажется более простым для интеграции (5 минут с использованием зависимости maven) и идеально подходил для моих нужд (я проверял, что cookie-файл сеанса поддерживается на моем сайте черезбольшое количество запросов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...