Как правильно сформулировать регулярное выражение?

xcite

Client
Регистрация
11.09.2015
Сообщения
4
Благодарностей
0
Баллы
1
Приветствую

Стоит задача автоматизация приглашению людей в группу в ОД по алгоритму:

0. Зайти в группу
1. Зайти в Участники
2. Перейти по ссылке на профиль одного из участника
3. Перейти к нему в друзья
4. Если человек онлайн, то пригласить его в группу.

В итоге при формировании регулярного выражения не могу получить список людей, что есть в группе и не могу отфильтровать того, что человек онлайн - выдается только стена текста.

Какую логику хочу выстроить:

0. Собрать список всех, кто есть в группе
1. Заходить к нему в Друзья
2. Приглашать в группу тех, кто онлайн.
(В перспективе) 3. Собирать тех, кого приглашал, и если он не вступил в группу, то не приглашать повторно.

Для получения ссылок на профили использую Dom-модель.

Ожидаю получить:

1) Ссылку на профиль в виде /profile/XXXXXXXXXXX. Использовал регулярку (?<=href=")/profile.*"> и /profile.*">
2) Подтверждение того, что человек онлайн. Использовал регулярку (?<=<span\ class=")ic-online.*(?=</span>)
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 625
Благодарностей
4 611
Баллы
113
наверно, в таких ситуациях не мешал бы хтмл. В слепую проблематично регулярки делать
 

xcite

Client
Регистрация
11.09.2015
Сообщения
4
Благодарностей
0
Баллы
1

doc

Client
Регистрация
30.03.2012
Сообщения
8 625
Благодарностей
4 611
Баллы
113
HTML код тех участков, где находятся искомые данные
 
  • Спасибо
Реакции: xcite

xcite

Client
Регистрация
11.09.2015
Сообщения
4
Благодарностей
0
Баллы
1
HTML:
<li class="cardsList_li show-on-hover">
    <div class="userCard">
        <div class="card_main">
            <div class="card_wrp">
                <div class="photoWrapper">
                    <a hrefattrs="st.cmd=friendMain&amp;st.friendId=561546279009&amp;st._aid=GroupMembers_VisitMember" class="photoWrapper" href="/profile/561546279009"><div><img src="//umd2.mycdn.me/image?t=34&amp;bid=590439705185&amp;id=590439705185&amp;plc=WEB&amp;tkn=*l4IEU6TpQxsoFKQUDOkuPIQ7xYg" alt="" height="128" width="128">
                    <span class="ic-online"></span>
                    <div class="hookData" id="hook_ShortcutMenu_8992464724">

<!--{"groupId":"52387072049326","grpModerator":true,"waitTimeout":100,"closeTimeout":100,"userId":"561546279009","fio":"Протей Спорт питание Бишкек","strictPosition":"center","userIdDecoded":"561546279009","vchatRightNow":true,"smlacs":false,"vchatEnabled":true,"vchat.time":"1454343507277","showTimeout":200,"menuType":"ControlAltGroupMembers","grpBlock":true,"male":true,"showDeleteMmUser":false,"photoMainId":{"photoId":"590439705185"}}-->
                    </div>
                </div>
            </a>
        </div>
    </div>
</div>
    <div class="card_add">
        <div class="ellip">
            <a hrefattrs="st.cmd=friendMain&amp;st.friendId=561546279009&amp;st._aid=GroupMembers_VisitMember" href="/profile/561546279009" class="o">Протей Спорт питание Бишк</a>
        </div>
    </div>
    </div>
</li>
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 625
Благодарностей
4 611
Баллы
113
1) /profile/\d+ либо (?<=\")/profile/[^\/]+?(?=\")
2) Просто кусок кода <span class="ic-online"></span> . Тут всё зависит от того, что ты будешь делать с полученным статусом. Этот вариант подойдет для проверки переменной на пустоту. Если не пустая - значит чел онлайн
 
  • Спасибо
Реакции: Viktblrbl4 и xcite

xcite

Client
Регистрация
11.09.2015
Сообщения
4
Благодарностей
0
Баллы
1
Спасибо за регулярку. Как доберусь до компа с зенкой, то гляну её.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)