Advertisement
Guest User

Untitled

a guest
Jul 11th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.64 KB | None | 0 0
  1. Краткая документация к проекту LSugg v.1.1
  2. ----------------------------------------------
  3. Авторство
  4. Автор: Lord Alfred
  5. Блог: https://vk.com/lord.alfred
  6. Топик на ZennoLab: http://zennolab.com/discussion/threads/lsugg-v-1-parser-poiskovyx-podskazok-s-bolee-chem-25-poiskovikov-suggests-parser.34147/
  7.  
  8. ----------------------------------------------
  9. Лицензия
  10. Запрещается передавать/продавать шаблон третьим лицам и публиковать где-либо список поисковиков для парсинга.
  11.  
  12. ----------------------------------------------
  13. История изменений
  14.  
  15. 1.1 (20.01.2017):
  16. - добавлен шаблон lsugg_parser - самая простая реализация
  17. многопоточного парсера поисковых подсказок
  18. - добавлен ещё один парсер, теперь их 27
  19. - добавлена переменная is_cached
  20.  
  21. 1.0 (11.01.2017): Первая версия с 26 парсерами поисковых подсказок
  22.  
  23. ----------------------------------------------
  24. Описание работы
  25. Принцип работы с шаблоном основывается на том, чтобы использовать его как кубик "Проект в проекте".
  26.  
  27. Входные переменные для задания параметров парсинга:
  28. IN_query - запрос для парсинга
  29. IN_count - количество результатов на выходе (не влияет на количество закешированных результатов)
  30. по умолчанию - 20
  31. IN_language - язык для парсинга (en, ru, it, de - протестированы, остальные языки смотрите как будут работать)
  32. по умолчанию - en
  33. IN_separator - разделитель подсказок на выходе (запятая или символ новой строки)
  34. IN_show_errors_in_poster - показывать процесс парсинга и ошибки в логе ZennoPoster (для отладки)
  35.  
  36. Выходные переменные для получения результатов:
  37. OUT_keywords - список спаршенных (или полученных с кеша) подсказок по запросу IN_query,
  38. на языке IN_language,
  39. в количестве равном или менее IN_count (в случае малого количества),
  40. разделенных с помощью IN_separator.
  41. is_cached - не обязательная переменная-индикатор. Она показывает все ли возможные подсказки выпаршены.
  42. Если в ней "true" - значит все подсказки для текущего запроса спаршены;
  43. если в ней "false" - значит не все.
  44.  
  45. Результаты работы кешируются в папке:
  46. suggests/
  47.  
  48. Имена генерируются следующим образом:
  49. md5("{-Variable.IN_query-}_{-Variable.IN_language-}")[_full].txt
  50.  
  51. Не обязательная часть _full - обозначает, что по данному запросу IN_query с языком IN_language выпаршены все возможные
  52. подсказки и далее запросы в поисковики не будут идти, будет браться контент только из закешированного файла.
  53. Аналогичную работу по определению все ли подсказки выпаршены и закешированы выполняет переменная-индикатор is_cached.
  54.  
  55. ----------------------------------------------
  56. Описание lsugg_parser
  57. Если вам нужно спарсить все подсказки для множества запросов и сложить результаты в ОДИН файл,
  58. то этот шаблон призван для того, чтобы упросить вам жизнь и чтобы не нужно было делать такой же свой :)
  59.  
  60. Шаблон lsugg_parser - это многопоточный парсер поисковых подсказок, в основу которого взят LSugg.
  61.  
  62. Чтобы его запустить - сделайте следующее:
  63. 1. Положите список запросов (каждый с новой строки!) в файл data\keywords.txt - под конец работы этот файл очистится (!)
  64. 2. Добавьте шаблон lsugg_parser в ZennoPoster
  65. 3. Введите нужный язык для парсинга во входящих настройках lsugg_parser
  66. 4. Обязательно включите использование прокси для этого проекта (или часть из парсеров поисковых подсказок может перестать выдавать результат)
  67. 5. Введите максимальное количество потоков (рекомендую 10-25, но это зависит от количества и качества прокси)
  68. 6. Основываясь на том, сколько у вас запросов в data\keywords.txt - введите количество выполнений этого шаблона (поле "сколько делать").
  69. Рекомендую ставить там по следующей формуле: количество запросов * 3
  70. 7. Запустите парсинг и ожидайте сообщения в логе о том, что все запросы из data\keywords.txt обработаны (их может быть несколько - ничего страшного)
  71. 8. Если количество выполнений окончено, а сообщение из пункта 7 в логе не появилось - решаем надо ли ещё парсить (смотрите файл data\keywords_parsed.txt) и:
  72. если нужно дальше - переходите к пункту 6 и повторяйте всё с него;
  73. если НЕ нужно дальше парсить - всё ок, берите файл data\keywords_parsed.txt и делайте с ним что хотите :)
  74.  
  75. PS: возможны ошибки о том, что "Процесс не может получить доступ к файлу ..., так как этот файл используется другим процессом." - ничего страшного,
  76. такое может быть. Возможно, в следующих версиях я сделаю дополнительную блокировку во время записи в файл.
  77.  
  78. PPS: если вам окажется мало результатов, которые будут получены с помощью этого парсера, то вы можете переименовать data\keywords_parsed.txt в data\keywords.txt
  79. и ещё раз пройтись и спарсить подсказки для подсказок ;-)
  80.  
  81. ----------------------------------------------
  82. Примечания
  83. Для упрощения понимания работы вместе с шаблоном идет тестовый шаб lsugg_test.xmlz
  84. и шаблон lsugg_parser.xmlz для многопоточного парсинга подсказок в один файл.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement