Get-запрос + xpath и нужно ли?

Kaliostro666

Client
Регистрация
04.08.2016
Сообщения
2
Благодарностей
1
Баллы
3
Коллеги, добрый день. Всех с наступающими праздниками, хорошего настроения и отличных выходных!

Суть вопроса (сразу оговорюсь, что шаблон полностью на кубиках...): пытаюсь спаммить один буржуйский сайтик (через прокси конечно) и вроде бы все хорошо, но с огромной, частой периодичностью происходит то, что перестают парсится юзеры из онлайна - кубик парсинга тупо не срабатывает...
Хотя, если в такие моменты навести мышку к любому пользователю в списке сайта, нажать на нем правую клавишу мышки, выбрать "Парсить данные" и подставить свой Xpath - чудо происходит, все пользователи находятся! Но тут же опять пробуешь нажать кубик с парсингом, где стоит тот же самый Xpath - хрен там... не срабатывает.
Предполагаю и наверняка со 100% гарантией уверен, что дело в прокси! Ибо если ее меняешь, то какое-то время все нормально. Соответственно встал вопрос - возможно ли стандартный кубик парсинга заменить кодом - может он лучше будет срабатывать? Гет-запросу ведь не нужно прогружать элементы, может у него лучше будет получатся с парсингом...
Посоветуйте пожалуйста, что можно предпринять? Если можно, накидайте пожалуйста гет-запрос ибо сам я его пока не осилю...

На всякий случай входные данные:

1. Прокси ложится в переменную проекта - Proxy
2. В качестве логина используется переменная профиля - Profile.Name
3. В качестве пароля используется пароль профиля - Profile.Password
4. Xpath для парсинга - //a[@class='male']/span[@id='nickname']
5. Спарсенные данные ложатся в список проекта - Online

Заранее - огромное спасибо всем откликнувшимся за помощь!
 
  • Спасибо
Реакции: Phoenix78

backoff

Client
Регистрация
20.04.2015
Сообщения
5 933
Благодарностей
6 389
Баллы
113
Хотя, если в такие моменты навести мышку к любому пользователю в списке сайта, нажать на нем правую клавишу мышки, выбрать "Парсить данные" и подставить свой Xpath - чудо происходит
скорей всего на сайте классы и/или id динамические - то есть меняются при обновлении страницы, такие приколы есть у гугла, яндекса, у многих крупных сайтов
4. Xpath для парсинга - //a[@class='male']/span[@id='nickname']
судя по этому пасу, парсинг только мужиков ну и перед span желательно 2 слеша ставить //span

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

ps / думаю особо не поможем, не видя сам сайт
 
  • Спасибо
Реакции: Kaliostro666

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 767
Благодарностей
2 414
Баллы
113
Пример сбора логинов на данном форуме с использованием Get запроса (но с регулярками, без Xpath ):
Код:
string proxy = "";
string url = @"https://zennolab.com/discussion/members/?key=highest_reaction_score";
string get = ZennoPoster.HttpGet(url: url, proxy: proxy, Encoding:"UTF-8", Timeout: 60000); // запрос
string[] users = Regex.Matches(get, @"(?<=data-user-id=""\d+"">).*?(?=</a>)").Cast<Match>().Select(s => s.Value).ToArray(); // извлекаем логины
List<string> outData = new List<string>(); // Сюда сохраним результат
project.SendInfoToLog(users.Length.ToString(), true);
if(users.Length > 0) { // Если что-то нашли
    for(int i=0;i<users.Length;i++) {
        string login = users[i].Trim();
        if(login.Contains("<")) {
            login = Regex.Match(login, @"(?<=>).*?(?=<)").Value.Trim(); // очистим от мусора
        }       
        if(!string.IsNullOrEmpty(login)) outData.Add(login); // Добавляем логин в список с результатами
    }
}
foreach (string s in outData) project.SendInfoToLog(s, true); // Выводим найденное в лог
 
  • Спасибо
Реакции: Kaliostro666

lesha076

Новичок
Регистрация
10.08.2014
Сообщения
5
Благодарностей
1
Баллы
3
Коллеги, добрый день. Всех с наступающими праздниками, хорошего настроения и отличных выходных!

Суть вопроса (сразу оговорюсь, что шаблон полностью на кубиках...): пытаюсь спаммить один буржуйский сайтик (через прокси конечно) и вроде бы все хорошо, но с огромной, частой периодичностью происходит то, что перестают парсится юзеры из онлайна - кубик парсинга тупо не срабатывает...
Хотя, если в такие моменты навести мышку к любому пользователю в списке сайта, нажать на нем правую клавишу мышки, выбрать "Парсить данные" и подставить свой Xpath - чудо происходит, все пользователи находятся! Но тут же опять пробуешь нажать кубик с парсингом, где стоит тот же самый Xpath - хрен там... не срабатывает.
Предполагаю и наверняка со 100% гарантией уверен, что дело в прокси! Ибо если ее меняешь, то какое-то время все нормально. Соответственно встал вопрос - возможно ли стандартный кубик парсинга заменить кодом - может он лучше будет срабатывать? Гет-запросу ведь не нужно прогружать элементы, может у него лучше будет получатся с парсингом...
Посоветуйте пожалуйста, что можно предпринять? Если можно, накидайте пожалуйста гет-запрос ибо сам я его пока не осилю...

На всякий случай входные данные:

1. Прокси ложится в переменную проекта - Proxy
2. В качестве логина используется переменная профиля - Profile.Name
3. В качестве пароля используется пароль профиля - Profile.Password
4. Xpath для парсинга - //a[@class='male']/span[@id='nickname']
5. Спарсенные данные ложатся в список проекта - Online

Заранее - огромное спасибо всем откликнувшимся за помощь!
привет, как с тобой связаться вне сайта? (я со складчика)
кинь контакт, или как удобнее и я кину. благодарю
 

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