Требуется небольшая помощь!

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

Scalir

Client
Регистрация
07.05.2017
Сообщения
15
Реакции
1
Баллы
3
Всем привет!
Помогите пожалуйста, не могу найти как сделать переход по вкладкам на авито и остановки выполнения действий когда вкладка последняя.
75887
 
Вперёд //span[@data-marker="pagination-button/next"]
Назад //span[@data-marker="pagination-button/prev"]
 
  • Спасибо
Реакции: Scalir и udder
Вперёд //span[@data-marker="pagination-button/next"]
Назад //span[@data-marker="pagination-button/prev"]
Наверно сейчас глупо прозвучит) Можете подсказать какое действие надо сделать для данных действий, или как это сделать. И может где то пособие есть (инст рукции)
 
  • Спасибо
Реакции: Scalir
Сейчас буду побывать спасибо большое!
 
Спасибо получилось. Проблема в том что когда доходит до конца все равно действие выполняется и считается успешным( а не останавливается.
Сейчас у меня происходит парсинг заголовков и ссылок на объявления но беда, при переходе на вторую страницу происходит опять парсинг все хорошо, но когда вставляется в эксель таблицу у меня сразу вставляется дополнительно первая страница отпарсеная(
 
Последнее редактирование:
1618821334062.pngКак можно достать номер телефона ???
 
То есть получается нажимаю показать номер, потом делаю распознание капчи, сохраняю цифры в лист и добавляю в таблицу?
 
  • Спасибо
Реакции: Scalir
А можешь подсказать как сделать чтоб следующая страничка открывалась (Вперёд //span[@data-marker="pagination-button/next"] )
там проблема в том что когда последняя страничка открывается действие все равно выполняется дальше, а не останавливается
 
А можешь подсказать как сделать чтоб следующая страничка открывалась (Вперёд //span[@data-marker="pagination-button/next"] )
там проблема в том что когда последняя страничка открывается действие все равно выполняется дальше, а не останавливается
анализируй страницу, находи различия в элементах , проверяй их и делай развилку в логике работы бота.
 
Спасибо получилось. Проблема в том что когда доходит до конца все равно действие выполняется и считается успешным( а не останавливается.
Сейчас у меня происходит парсинг заголовков и ссылок на объявления но беда, при переходе на вторую страницу происходит опять парсинг все хорошо, но когда вставляется в эксель таблицу у меня сразу вставляется дополнительно первая страница отпарсеная(
После парсинга можно чистить список (таблицу) на дубли (Операции над списком или таблицей - Удалить дубли) запоминать в переменную кол-во строк до парсинга, производить парсинг, снова удалять дубли и считать кол-во строк в другую переменную и сравнивать (кубик IF) - если они равны, то находимся на последней странице.
 
Блин((( весь день мучаюсь с двумя пунктами так и не могу разобраться((((((((


1. Пункт для перехода по страничкам до момента когда странички заканчиваются.
75908




2. Не могу номер телефона вытащить, побывал через распознование капчи но почему то не сработало(
1618831222201.png

Помогите пожалуйста.
 

Вложения

  • Спасибо
Реакции: Scalir
Распознавание картинки с помощью библиотеки tesseract.
Нужно добавить папки из архива в папку Progs.
Добавить в директивы Using:
C#:
Развернуть Свернуть Копировать
using Patagames.Ocr;
using Patagames.Ocr.Enums;
using Patagames.Ocr.Exceptions;
Добавить в Ссылки из GAC файл - Patagames.Ocr.dll из папки ExternalAssemblies из директории, где установлена программа.
 
  • Спасибо
Реакции: Phoenix78 и Sergodjan
Распознавание картинки с помощью библиотеки tesseract.
Нужно добавить папки из архива в папку Progs.
Добавить в директивы Using:
C#:
Развернуть Свернуть Копировать
using Patagames.Ocr;
using Patagames.Ocr.Enums;
using Patagames.Ocr.Exceptions;
Добавить в Ссылки из GAC файл - Patagames.Ocr.dll из папки ExternalAssemblies из директории, где установлена программа.
Поделись ссылкой, откуда начал работать и настраивать с эту библиотеку, хочу углубится :)
Классные результаты выдает. На тест запихнул ей эту картинку и прям до буквы считала :)

75926
 
Я из ZennoPro Academy от Сибборы узнал, сам толком не разбирался, только для авито и использовал. Вот страница продукта с языковыми файлами, сам же страница загрузки с новыми версиями, эту, которую скидывал 2018 года https://tesseract.patagames.com/langs/
 
Забыл архив прикрепить))
Рабочий код, может кому то нужно будет

C#:
Развернуть Свернуть Копировать
Tab Tab1 = instance.ActiveTab;

// Клик по телефону (кнопка для открытия попапа)
Tab1.FindElementByXPath("//a[contains(@class,'item-phone-button ')]", 0).Click();

// Ждём появления изображения с номером телефона
HtmlElement elPhoneNumber = null;
for(int i = 0; i < 50; i++)
{
    // Новый XPath для поиска img с data-marker="phone-popup/phone-image"
    elPhoneNumber = Tab1.FindElementByXPath("//img[@data-marker='phone-popup/phone-image']", 0);
    
    if (!elPhoneNumber.IsVoid)
        break;
        
    Thread.Sleep(250);
}

// Проверяем, найден ли элемент
if (elPhoneNumber.IsVoid)
{
    project.SendErrorToLog("Не удалось найти изображение с номером телефона");
    return "fail";
}

// Распознаём картинку с номером телефона
using (var api = OcrApi.Create())
{
    api.Init(Languages.English); // задаём язык распознавания
    
    // Получаем текст с изображения
    string plainText = api.GetTextFromImage(elPhoneNumber.DrawAsBitmap(true));
    
    // Очищаем результат от лишних символов (оставляем только цифры)
    string phoneNumber = new string(plainText.Where(char.IsDigit).ToArray());
    
    // Добавляем номер в свою переменную
    project.Variables["phone"].Value = phoneNumber;
    
    project.SendInfoToLog("Распознанный номер: " + phoneNumber);
}

return "ok"; // сообщаем об успешном распознавании
Пример https://www.avito.ru/sankt-peterburg/kvartiry/3-k._kvartira_79_m_225_et._7854790916
 
Последнее редактирование:
  • Спасибо
Реакции: one и Alex.A

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