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

  • Автор темы Автор темы chazer24
  • Дата начала Дата начала

chazer24

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

ProjectMaker%2Bfor%2BZennoPoster%2Bv5.9.8.1%2Bby%2BZennoLab.com%2B2016-05-29%2B12.58.30.jpg
 
Вот как взять 3 и 4 значение из этой таблицы...

download
 
(?<=<dt>[^>]+>[^>]+>)[\w\W]*(?=</dd>)
 
Основная проблема в том что значения не стабильные, на 1 странице параметр "город" идет под номером 3 (в таблице) на другой под номером 4 или 5, и зацепить эти значения по сути не за что, код там очень простой.. Как быть в таком случае!?

download
 
При парсинге в таблицу значения начинают путаться. В первую колонку мне нужно собрать значения "Город" во вторую "пол". Как видим уже с 3й страницы парсить начинает не то значение, всё начинает плавать..


download
 
Основная проблема в том что значения не стабильные, на 1 странице параметр "город" идет под номером 3 (в таблице) на другой под номером 4 или 5, и зацепить эти значения по сути не за что, код там очень простой.. Как быть в таком случае!?

download

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

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

Мне нужно вытаскивать 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>
 
ты даёшь часть кода из которого легко можно вытащить
2016-05-29_205935.png


сейчас ты скажешь что во всём коде собирает мусор, нам что гадать что в коде ??
 
Последнее редактирование:
Вы можете дать полный код и написать конкретно, что вам нужно спарсить в переменные? Или вам только город и пол нужно? Если у вас, как вы говорите идет сбой, то надо смотреть почему идет сбой, надо несколько страниц и только тогда можно будет вам помочь по человечески!
 
(?<=Город[^>]+>[^>]+>)[\w\W].*?(?=</dd>)
(?<=Город[^>]+>[^>]+>)[\w\W].*?(?=</dd>)|(?<=Пол[^>]+>[^>]+>)[\w\W].*?(?=</dd>)
 
Последнее редактирование:
Вы можете дать полный код и написать конкретно, что вам нужно спарсить в переменные? Или вам только город и пол нужно? Если у вас, как вы говорите идет сбой, то надо смотреть почему идет сбой, надо несколько страниц и только тогда можно будет вам помочь по человечески!

Код вот с таких страниц.. В переменные нужно спарсить город и пол.

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
 
можно немного покороче
(?<=Город.*[^>]+d>)[\w\W].*?(?=</dd>)|(?<=Пол.*[^>]+d>)[\w\W].*?(?=</dd>)
ну это если теги не меняются
 
можно немного покороче
(?<=Город.*[^>]+d>)[\w\W].*?(?=</dd>)|(?<=Пол.*[^>]+d>)[\w\W].*?(?=</dd>)
ну это если теги не меняются

Первый вариант вполне отлично работает, я кроме стандартного конструктора больше ничего не использую, вы видимо используете что то более глубже чем стандартный интерфейс конструктора? Либо очень хорошо понимаете как работает этот код, я как только не пытался обучить это регулярное выражение, ничего не получалось спасибо Вам.
 
Первый вариант вполне отлично работает, я кроме стандартного конструктора больше ничего не использую, вы видимо используете что то более глубже чем стандартный интерфейс конструктора? Либо очень хорошо понимаете как работает этот код, я как только не пытался обучить это регулярное выражение, ничего не получалось спасибо Вам.
Для спасибо Справа кнопка мне нравится ))
 
  • Оценить
Реакции: chazer24
Первый вариант вполне отлично работает, я кроме стандартного конструктора больше ничего не использую, вы видимо используете что то более глубже чем стандартный интерфейс конструктора? Либо очень хорошо понимаете как работает этот код, я как только не пытался обучить это регулярное выражение, ничего не получалось спасибо Вам.
Вариантов много. Можно и без конструктора.
 

Вложения

Последнее редактирование:
  • Оценить
Реакции: chazer24
можно вот так ещё, тогда уже пофиг какие там теги будут
(?<=Город.*[^>]+>).*?(?=<[^>]+>)|(?<=Пол.*[^>]+>).*?(?=<[^>]+>)
 
  • Оценить
Реакции: samsonnn

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