Сортировка при парсинге

Тема в разделе "Решение различных задач по парсингу", создана пользователем sanitarn, 22 окт 2013.

  1. sanitarn

    sanitarn New Member Пользователи

    Регистрация:
    10 фев 2013
    Сообщения:
    34
    Вопрос, имеется список из 200 к примеру урлов, высталяю парсить в 1 поток, урлы сохраняются по порядку которому я их загрузил, выставляю парсить в 5 потоков, порядок урлов сбивается, как парсить в несколько колличество потоков, но чтобы список урлов не сбивался?
     
  2. wanders

    wanders New Member Пользователи

    Регистрация:
    10 янв 2013
    Сообщения:
    9
    не выйдет, только в один поток, такая же была проблема.
     
  3. sanitarn

    sanitarn New Member Пользователи

    Регистрация:
    10 фев 2013
    Сообщения:
    34
    Это очень плохо конечно.
     
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.495
    Город:
    Барнаул
    А смысл тогда ставить много потоков, если элементы будут друг-друга ждать... Это нормальный побочный эффект многопоточности!
     
  5. sanitarn

    sanitarn New Member Пользователи

    Регистрация:
    10 фев 2013
    Сообщения:
    34
    Ну как смысл? Есть 2 варианта, берем парсим к примеру первые 5 урлов и также их добавляем в файл, после следующие, второй вариант сделать какую то метку для сортировки по умолчанию.
     
  6. СТЕПАН

    СТЕПАН New Member Супер Модератор

    Регистрация:
    10 мар 2013
    Сообщения:
    51
    Адрес:
    Казахстан
    sanitarn, потоки могут обрабатываться с разной скоростью, и поэтому данная реализация будет тормозить процесс парсинга из за того что будет очередь ожидания
     
  7. sanitarn

    sanitarn New Member Пользователи

    Регистрация:
    10 фев 2013
    Сообщения:
    34
    Это понятно, по этой причине и сбивается очередность, ведь можно как то ID присобачить чтобы после в экспорте можно было отсортировать?
     
  8. wanders

    wanders New Member Пользователи

    Регистрация:
    10 янв 2013
    Сообщения:
    9
    ID в итоге тоже будут вперемешку, делай в один поток, я так и делаю, парсинг работает 2 часа, но в итоге все ставит на свои места.
     
  9. sanitarn

    sanitarn New Member Пользователи

    Регистрация:
    10 фев 2013
    Сообщения:
    34
    ID имеет число, свойственно стоит отсортировать по ID и ничего не будет вперемешку. Так как вы работаете, не вариант, ждать по 4 часа, хотя я нашел другой костыль, формула в Экселе для стравнения, но это другая песня.
     
  10. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.495
    Город:
    Барнаул
    Взял на заметку, спасибо!
     
  11. sanitarn

    sanitarn New Member Пользователи

    Регистрация:
    10 фев 2013
    Сообщения:
    34
    Вам спасибо, раз взяли на заметку ;)
     
  12. Alexlife

    Alexlife Member Пользователи

    Регистрация:
    16 окт 2015
    Сообщения:
    49
    а как быть если я вставил 800 ссылок, они спарсились, но в экселе все наверное по алфавиту...а мне не нужно по алфавиту мне нужен тот порядок который в списке урлов...
     
  13. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.235
    Адрес:
    @kagorec
    Город:
    Riga
    Вам при парсинге достаточто отсортировать список, указать 1 поток, и все получится так что документ тоже будет содержать порядок отсортированным.
     
  14. Alexlife

    Alexlife Member Пользователи

    Регистрация:
    16 окт 2015
    Сообщения:
    49
    в том то и дело что я добавил ссылки, а поток и стоял один и при парсинге отображалась надпись : количество потоков :1
     

Поделиться этой страницей