Помогите спасить значения с форума..

chazer24

Активный пользователь
Регистрация
26.03.2016
Сообщения
271
Благодарностей
49
Баллы
28
Всем привет, задачка у меня собрать с форума ссылки + параметры город и пол. Столкнулся с проблемой, пробовал взять эти параметры через конструктор рег. выражений, но не мог точно составить выражение которое бы на 100% брало нужный результат. Конструктор находил около 10 значений которые подходили под пой запрос, но как вытащить именно то нужное мне значение я так и не понял.. Решил пойти другим путём, спарсить значение через конструктор действий, выбирал разные атрибуты, устанавливал галочку "GET" но экшн не срабатывает, скорее из за моих кривых рук. Подскажите как это правильно делается.

 

chazer24

Активный пользователь
Регистрация
26.03.2016
Сообщения
271
Благодарностей
49
Баллы
28
Вот как взять 3 и 4 значение из этой таблицы...

 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
(?<=<dt>[^>]+>[^>]+>)[\w\W]*(?=</dd>)
 

chazer24

Активный пользователь
Регистрация
26.03.2016
Сообщения
271
Благодарностей
49
Баллы
28

chazer24

Активный пользователь
Регистрация
26.03.2016
Сообщения
271
Благодарностей
49
Баллы
28
Основная проблема в том что значения не стабильные, на 1 странице параметр "город" идет под номером 3 (в таблице) на другой под номером 4 или 5, и зацепить эти значения по сути не за что, код там очень простой.. Как быть в таком случае!?

 

chazer24

Активный пользователь
Регистрация
26.03.2016
Сообщения
271
Благодарностей
49
Баллы
28
При парсинге в таблицу значения начинают путаться. В первую колонку мне нужно собрать значения "Город" во вторую "пол". Как видим уже с 3й страницы парсить начинает не то значение, всё начинает плавать..


 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 782
Благодарностей
1 448
Баллы
113
Основная проблема в том что значения не стабильные, на 1 странице параметр "город" идет под номером 3 (в таблице) на другой под номером 4 или 5, и зацепить эти значения по сути не за что, код там очень простой.. Как быть в таком случае!?

выложите готовый код с которым работаете я постараюсь вам помочь
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
руками вписывать весь код в конструктор как то нет у меня желания, ты получается сам с собой разбираешься и нам только скрины предоставляешь, что дал то и получил
 

chazer24

Активный пользователь
Регистрация
26.03.2016
Сообщения
271
Благодарностей
49
Баллы
28
выложите готовый код с которым работаете я постараюсь вам помочь
Мне нужно вытаскивать 2 параметра из этого кода, "город" и "пол". Вытащить с 1 страницы эти параметры у меня получилось, но когда делаю цепочку из экшенов и начинаю обрабатывать страницы поочередно, с 1 парсится нормально, со 2 тоже, с 3 уже парсится неправильно, параметры сьезжают как то, вместо города парсится к примеру "дата регистрации"..

Целевая страница к примеру: ecigtalk.ru/members/u34896.html


Часть кода:

Код:
    <div class="blockbody userprof_content userprof_content_border">
        <h5 class="subblocksubhead subsubsectionhead first">О _Brick_</h5>
    
        <dl>

    <dt>Город:</dt>
    <dd>Москва</dd>


</dl><dl>

    <dt>Пол:</dt>
    <dd>Male</dd>
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
ты даёшь часть кода из которого легко можно вытащить
2016-05-29_205935.png


сейчас ты скажешь что во всём коде собирает мусор, нам что гадать что в коде ??
 
Последнее редактирование:

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 782
Благодарностей
1 448
Баллы
113
Вы можете дать полный код и написать конкретно, что вам нужно спарсить в переменные? Или вам только город и пол нужно? Если у вас, как вы говорите идет сбой, то надо смотреть почему идет сбой, надо несколько страниц и только тогда можно будет вам помочь по человечески!
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
(?<=Город[^>]+>[^>]+>)[\w\W].*?(?=</dd>)
(?<=Город[^>]+>[^>]+>)[\w\W].*?(?=</dd>)|(?<=Пол[^>]+>[^>]+>)[\w\W].*?(?=</dd>)
 
Последнее редактирование:

chazer24

Активный пользователь
Регистрация
26.03.2016
Сообщения
271
Благодарностей
49
Баллы
28
Вы можете дать полный код и написать конкретно, что вам нужно спарсить в переменные? Или вам только город и пол нужно? Если у вас, как вы говорите идет сбой, то надо смотреть почему идет сбой, надо несколько страниц и только тогда можно будет вам помочь по человечески!
Код вот с таких страниц.. В переменные нужно спарсить город и пол.

www.ecigtalk.ru/members/u47014.html
www.ecigtalk.ru/members/u74233.html
www.ecigtalk.ru/members/u87061.html
www.ecigtalk.ru/members/u95533.html
www.ecigtalk.ru/members/u73040.html
 

chazer24

Активный пользователь
Регистрация
26.03.2016
Сообщения
271
Благодарностей
49
Баллы
28

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
можно немного покороче
(?<=Город.*[^>]+d>)[\w\W].*?(?=</dd>)|(?<=Пол.*[^>]+d>)[\w\W].*?(?=</dd>)
ну это если теги не меняются
 

chazer24

Активный пользователь
Регистрация
26.03.2016
Сообщения
271
Благодарностей
49
Баллы
28
можно немного покороче
(?<=Город.*[^>]+d>)[\w\W].*?(?=</dd>)|(?<=Пол.*[^>]+d>)[\w\W].*?(?=</dd>)
ну это если теги не меняются
Первый вариант вполне отлично работает, я кроме стандартного конструктора больше ничего не использую, вы видимо используете что то более глубже чем стандартный интерфейс конструктора? Либо очень хорошо понимаете как работает этот код, я как только не пытался обучить это регулярное выражение, ничего не получалось спасибо Вам.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Первый вариант вполне отлично работает, я кроме стандартного конструктора больше ничего не использую, вы видимо используете что то более глубже чем стандартный интерфейс конструктора? Либо очень хорошо понимаете как работает этот код, я как только не пытался обучить это регулярное выражение, ничего не получалось спасибо Вам.
Для спасибо Справа кнопка мне нравится ))
 
  • Спасибо
Реакции: chazer24

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
556
Баллы
93
Первый вариант вполне отлично работает, я кроме стандартного конструктора больше ничего не использую, вы видимо используете что то более глубже чем стандартный интерфейс конструктора? Либо очень хорошо понимаете как работает этот код, я как только не пытался обучить это регулярное выражение, ничего не получалось спасибо Вам.
Вариантов много. Можно и без конструктора.
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: chazer24

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
можно вот так ещё, тогда уже пофиг какие там теги будут
(?<=Город.*[^>]+>).*?(?=<[^>]+>)|(?<=Пол.*[^>]+>).*?(?=<[^>]+>)
 
  • Спасибо
Реакции: samsonnn

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