Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.
  • Форумы
  •  » iMacros
  •  » [РЕШЕНО] Последовательное прохождение уровней каталога со сбором инфы

№105-02-2019 19:39:21

Andrey_Ulrich
Участник
 
Группа: Members
Зарегистрирован: 05-02-2019
Сообщений: 2
UA: Chrome 71.0

[РЕШЕНО] Последовательное прохождение уровней каталога со сбором инфы

Есть сайт с каталогом, информацию из которого мне нужно вытащить.

скрытый текст
Выбираю нужный мне перечень ссылок каталога с помощью фильтров сайта:

Выделить код

Код:

URL GOTO=http://site.com/reestr/xxx/?pd_type=1
TAG POS=1 TYPE=SELECT FORM=NAME:NoFormName ATTR=ID:inputAddress CONTENT=%783000
TAG POS=1 TYPE=LABEL FORM=NAME:NoFormName ATTR=TXT:Имеющие<SP>дома<SP>в<SP>управлении
TAG POS=1 TYPE=INPUT:CHECKBOX FORM=NAME:NoFormName ATTR=NAME:searchHcnt CONTENT=YES
TAG POS=2 TYPE=SELECT ATTR=* CONTENT=%all
TAG POS=1 TYPE=BUTTON:SUBMIT FORM=NAME:NoFormName ATTR=TXT:Фильтр

Получаю верхнеуровневый список позиций каталога, по которым необходимо пройтись нажатием кнопки "Выбрать". Т.е. эту процедуру надо зациклить:

Выделить код

Код:

TAG POS=1 TYPE=BUTTON ATTR=TXT:Выбрать

Далее попадаем на еще один уровень каталога, прохождение по ссылкам которого уже бросает нас на страницы с необходимым контентом. Т.е. эту процедуру надо тоже зациклить:

Выделить код

Код:

TAG POS=1 TYPE=A ATTR=TXT:*

Дальше я собираю на странице нужный мне контент. Эта часть у меня вроде вопросов не вызывает:

Выделить код

Код:

TAG POS=1 TYPE=A ATTR=TXT:Информация<SP>общая
TAG POS=2 TYPE=DIV ATTR=CLASS:col-md-12 EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=TXT:Подробное<SP>описание
TAG POS=2 TYPE=DIV ATTR=CLASS:col-md-12 EXTRACT=TXT

Далее, по идее, нужно вернуться на два шага назад, чтобы продолжить прохождение по другим позициям каталога

Выделить код

Код:

BACK 
BACK

Каким-то макаром повторить описанные шаги неопределенное кол-во раз...
Ну, и сохранить результаты

Выделить код

Код:

SAVEAS TYPE=EXTRACT FOLDER=* FILE=Extract_{{!NOW:ddmmyy_hhnnss}}.csv


Проблема в том, что у меня не получается сделать циклический парсинг, чтобы аймакрос прошелся по каждой категории, каждой подкатегории, и собрал нужную мне информацию. Пытался сделать через {{!LOOP}}, но указание данной команды дважды для разных строк скрипта приводит к неправильному для меня результату.
Подскажите нубу, пожалуйста.

Отредактировано Andrey_Ulrich (05-02-2019 19:42:38)

Отсутствует

 

№205-02-2019 21:48:18

Andrey_Ulrich
Участник
 
Группа: Members
Зарегистрирован: 05-02-2019
Сообщений: 2
UA: Chrome 71.0

Re: [РЕШЕНО] Последовательное прохождение уровней каталога со сбором инфы

В общем, в настоящий момент мой скрипт выглядит так

скрытый текст

Выделить код

Код:

VERSION BUILD=10.4.28.1074
SET !ERRORIGNORE YES
SET !EXTRACT_TEST_POPUP NO
URL GOTO=http://site.com/reestr/xx/?pd_type=1
TAG POS=1 TYPE=SELECT FORM=NAME:NoFormName ATTR=ID:inputAddress CONTENT=%783000
TAG POS=1 TYPE=LABEL FORM=NAME:NoFormName ATTR=TXT:J<SP>дома<SP>в<SP>управлении
TAG POS=1 TYPE=INPUT:CHECKBOX FORM=NAME:NoFormName ATTR=NAME:searchHcnt CONTENT=YES
TAG POS=2 TYPE=SELECT ATTR=* CONTENT=%all
TAG POS=1 TYPE=BUTTON:SUBMIT FORM=NAME:NoFormName ATTR=TXT:Фильтр
WAIT SECONDS=3
TAG POS={{!LOOP}} TYPE=BUTTON ATTR=TXT:Выбрать
WAIT SECONDS=3
TAG POS={{!LOOP}} TYPE=A ATTR=TXT:Химки<SP>г,<SP>*
TAG POS=1 TYPE=A ATTR=TXT:Общая<SP>информация
TAG POS=2 TYPE=DIV ATTR=CLASS:col-md-12 EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=TXT:Подробное<SP>описание
TAG POS=2 TYPE=DIV ATTR=CLASS:col-md-12 EXTRACT=TXT
BACK
BACK
BACK
BACK
SAVEAS TYPE=EXTRACT FOLDER=* FILE=result.txt


Заметил, что несколько первых записей парсятся нормально, а дальше скрипт перестает переходить по ссылкам. Почему - не знаю. Страницы, на которых происходит сбой ничем не отличаются от первых....

Отредактировано Andrey_Ulrich (05-02-2019 21:48:42)

Отсутствует

 

№309-02-2019 01:32:01

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3319
UA: Chrome 72.0
Веб-сайт

Re: [РЕШЕНО] Последовательное прохождение уровней каталога со сбором инфы

Andrey_Ulrich пишет

Пытался сделать через {{!LOOP}}, но указание данной команды дважды для разных строк скрипта приводит к неправильному для меня результату.

{{!LOOP}} всегда равно номеру цикла - т.е. тому номеру в который раз у вас повторяется скрипт (видно слева в окне имакроса)

Andrey_Ulrich пишет

VERSION BUILD=10.4.28.1074

скачайте версию 8.9.7 самая стабильная и нормальная версия
циклы делаются за счет js в 10 версии его нет
в FAQ есть ссылки на видео, смотрите - там основы расписаны достаточно подробно, в том числе и работа с js


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox


на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 
  • Форумы
  •  » iMacros
  •  » [РЕШЕНО] Последовательное прохождение уровней каталога со сбором инфы

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]