autoua
×
Autoua.netФорумІнформатика та побутова електроніка

фокуси з парсером на Chrome

Достоевский *
19 лет за рулем, Vorlon Planet
Сообщения: 6727
С нами с 14.08.2011

фокуси з парсером на Chrome
      28 января 2023 в 21:41 Гілками

Працюю над одним проектом, зробив парсер (на js у вигляді плагіну) для одного дуже специфічного сайту на якому торгує замовник. На сайті специфічиний захист від ріхних ботів та парсерів, але все одно дірки в цьому сайті є і для парсингу товарів і для швидкого виставляння цін по цим товарам. Є поки одна велика проблема. Кількість товарів в різні дні різна, і в живому режимі ціни передаються лише на ті товари що видно на екрані. Всі товари вивести одночасно можна лише скрутивши масштаб на мінімум а також якщо монітор перевести на книжну орієнтацію. Тоді всі товари 100+ відображаються одночасно і можна їх ціни в ріалтаймі читати та торгувати. Але оперватор тоді не має можливості бачити що відбувається на сайті, тобто він може лише моніторити логи парсера в окремій программі і руками він не як не може втрутитися в торги. Сайт підтриує лише одну одночасну сессію, тобто не можно на другому обладнанні з цього ж облікового запису моніторити торги чи торгувати, лише 1 браузер відкритий. Парсити сам протокол не хочу бо його вже досліджував - дуже багато сміття - на кожний товар мінімум по 40-50 параметрів в json, 3 частина яких різні хеші. Може камради знають екзотичні способи вирішення проблеми?

Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
V.I.P ***
40 лет (23 года за рулем),
Сообщения: 12646
С нами с 17.02.2009

Re: фокуси з парсером на Chrome [Re: kvadjagan]
      28 января 2023 в 21:59 Гілками

Два параллельных монитора с разными настройками масштабирования?

Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
опытный писатель ***
Dnepr
Сообщения: 1304
С нами с 14.05.2007

Re: фокуси з парсером на Chrome [Re: GreenMile]
      28 января 2023 в 22:03 Гілками

selenium

можно на java но уже и на python есть


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
19 лет за рулем, Vorlon Planet
Сообщения: 6727
С нами с 14.08.2011

Re: фокуси з парсером на Chrome [Re: GreenMile]
      29 января 2023 в 18:29 Гілками

GreenMile 28.01.2023 21:59 пишет:

Два параллельных монитора с разными настройками масштабирования?



вариант, переговорю с заказчиком есть ли у них на офисе такое железо или готовы ли его купить.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский **
46 лет (23 года за рулем), Киев
Сообщения: 7116
С нами с 30.11.2001

Re: фокуси з парсером на Chrome [Re: L.inc]
      29 января 2023 в 18:31 Гілками

selenium webdriver заточений для парсінга (та й не тільки) без відображення на моніторі
хоча досить потужна штука
я на ньому писав роботів для обхіду сторінок з капчами
але тут ситуація саме в тому щоб людина моніторила, правильно?

ТС, чи не пробував скролити сторінку догори потім вниз або навпаки, window.scrollxy()?


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
19 лет за рулем, Vorlon Planet
Сообщения: 6727
С нами с 14.08.2011

Re: фокуси з парсером на Chrome [Re: L.inc]
      29 января 2023 в 18:33 Гілками

L.inc 28.01.2023 22:03 пишет:

selenium

можно на java но уже и на python есть



я уже сталкивался с проектами на селениум под питоном и под c#.
Какое он мне даст преимущество по сравнению с ява скриптами использованными в моем расширении для хрома и доступом к разделу network через который у меня идет отправка приказов и перехват всех данных для авторизации?
Я двумя руками за освоение новых инструментов, просто подскажите в чем его жирные плюсы по сравнению с вышеупомянутыми инструментами в контексте моей задачи.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
19 лет за рулем, Vorlon Planet
Сообщения: 6727
С нами с 14.08.2011

Re: фокуси з парсером на Chrome [Re: hollywood]
      29 января 2023 в 23:26 Гілками

hollywood 29.01.2023 18:31 пишет:

selenium webdriver заточений для парсінга (та й не тільки) без відображення на моніторі
хоча досить потужна штука
я на ньому писав роботів для обхіду сторінок з капчами
але тут ситуація саме в тому щоб людина моніторила, правильно?

ТС, чи не пробував скролити сторінку догори потім вниз або навпаки, window.scrollxy()?



Справа в тому що потрібна одночасна робота (ну майже одночасна, я думаю домовитись з клієнтами про те що роботу буде відведено останні 5-10 секунду торгів). І на цьому сайті контроль авторизацій. Вся інформація для парсингу та торговлі виключно за логіном та паролем. Ну і одночасно може працювати з сайтом лише в 1 браузері, допускаю що навіть одна відкрита вкладка в браузері.
Я тут подумав що краще не скролити а за 5-10 секунд программно (наприклад скриптом для пітона) виставити масштаб від віндою поменьше і всі товари влізуть на екран і встигне відпрацювати робот після того як оперетор промоніторив все що міг і вже руками не буде коригувати ціни.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
19 лет за рулем, Vorlon Planet
Сообщения: 6727
С нами с 14.08.2011

Re: фокуси з парсером на Chrome [Re: kvadjagan]
      1 февраля 2023 в 22:11 Гілками

написав скріпт на пітоні для перевороту екрану, але у клієнта все задушено правами і админ там не хоче ні чого міняти. Пітоновий скрипт там не працює, взагалі там пітон не працює. Тому для маніпуляцій з екраном лишаються або bat скрипти з командами або win api.
Знайшов код +- такий
Код:

"%SystemRoot%\System32\DisplaySwitch.exe" /orient:1

Але під win10 не має вже цього додатку. Там він найчастіше згадується під win7.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Супер писатель! **
Киев
Сообщения: 2879
С нами с 26.07.2008

Re: фокуси з парсером на Chrome [Re: kvadjagan]
      2 февраля 2023 в 15:10 Гілками

Да он вроде стандартный, у меня в 11 есть. Может тоже надо с админскими правами запускать. Еще через горячие клавиши можно попробовать как здесь описано

Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
старый писатель **
Сообщения: 790
С нами с 15.11.2005

Re: фокуси з парсером на Chrome [Re: kvadjagan]
      2 февраля 2023 в 15:55 Гілками

Якщо є доступ до json і він не блочититься через cors - то чому б не парсити той json?
Обмеження на загрузку тільки тих даних, що є на екрані - вочевидь чисто софтові, типу "висота екрану / висоту рядка = кількість строк, які потрібно загружати", що у реквесті виглядає як ?from=50&to=100
Далі json вичіщається від зайвого сміття, загружається в свою локальну базу і роздається на потрібну кількість юзерів.

Якщо прямий доступ до json блокується (а скоріш за все це так) - selenium -> емуляція екрану браузера в млн пікселів по висоті -> збір даних -> своя база -> роздача юзерам.

Для високочастотного пиз**нгу даних не підійде, але працюватиме))


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
19 лет за рулем, Vorlon Planet
Сообщения: 6727
С нами с 14.08.2011

Re: фокуси з парсером на Chrome [Re: SARS]
      8 февраля 2023 в 21:27 Гілками

SARS 02.02.2023 15:10 пишет:

Да он вроде стандартный, у меня в 11 есть. Может тоже надо с админскими правами запускать. Еще через горячие клавиши можно попробовать как здесь описано



щось не працює на 10-ці. У мене ноут під 10-кою працює і клінт на десктопі теж під десяткою. Думаю якісь проблеми с драйверами.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
19 лет за рулем, Vorlon Planet
Сообщения: 6727
С нами с 14.08.2011

Re: фокуси з парсером на Chrome [Re: Reject]
      8 февраля 2023 в 21:32 Гілками

Reject 02.02.2023 15:55 пишет:

Якщо є доступ до json і він не блочититься через cors - то чому б не парсити той json?
Обмеження на загрузку тільки тих даних, що є на екрані - вочевидь чисто софтові, типу "висота екрану / висоту рядка = кількість строк, які потрібно загружати", що у реквесті виглядає як ?from=50&to=100
Далі json вичіщається від зайвого сміття, загружається в свою локальну базу і роздається на потрібну кількість юзерів.

Якщо прямий доступ до json блокується (а скоріш за все це так) - selenium -> емуляція екрану браузера в млн пікселів по висоті -> збір даних -> своя база -> роздача юзерам.

Для високочастотного пиз**нгу даних не підійде, але працюватиме))



дивіться, там все дуже закручено. Всю інфу я отримую через хром плагін через розділ network, в мене вся інфа що приходить в браузер доступна. Але там хардкор з параметрами запитів, там оновлення інформації іде спочатку через сокети, а потім окремі джейсон запити пропорціонально прокрутці сторінки в браузері. Клієнт готовий купити більший монітор для тестів. В принципі після кількох тестів побачили що все читається нормально але реально 100+ товарів одночано краще моніторити на великому моніторі.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
старый писатель **
Сообщения: 790
С нами с 15.11.2005

Re: фокуси з парсером на Chrome [Re: kvadjagan]
      9 февраля 2023 в 11:26 Гілками

kvadjagan 08.02.2023 21:32 пишет:

Reject 02.02.2023 15:55 пишет:

Якщо є доступ до json і він не блочититься через cors - то чому б не парсити той json?
Обмеження на загрузку тільки тих даних, що є на екрані - вочевидь чисто софтові, типу "висота екрану / висоту рядка = кількість строк, які потрібно загружати", що у реквесті виглядає як ?from=50&to=100
Далі json вичіщається від зайвого сміття, загружається в свою локальну базу і роздається на потрібну кількість юзерів.

Якщо прямий доступ до json блокується (а скоріш за все це так) - selenium -> емуляція екрану браузера в млн пікселів по висоті -> збір даних -> своя база -> роздача юзерам.

Для високочастотного пиз**нгу даних не підійде, але працюватиме))



дивіться, там все дуже закручено. Всю інфу я отримую через хром плагін через розділ network, в мене вся інфа що приходить в браузер доступна. Але там хардкор з параметрами запитів, там оновлення інформації іде спочатку через сокети, а потім окремі джейсон запити пропорціонально прокрутці сторінки в браузері. Клієнт готовий купити більший монітор для тестів. В принципі після кількох тестів побачили що все читається нормально але реально 100+ товарів одночано краще моніторити на великому моніторі.




Із того, що вдалося зрозуміти:
- є якийсь сервіс, доступ до якого проплачено(?) на одного юзера.
- є потреба у вікористанні даних з цього сервісу одночасно декількома юзерами.
- для цього був створений плагін, який... робить шо?
- "Клієнт готовий купити більший монітор для тестів" - для тестів чого? Чи більше інформації влізе на більший екран? Влізе більше - змінити масштаб сайту або роздільну здатність монітора можна і без купівлі нового.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
19 лет за рулем, Vorlon Planet
Сообщения: 6727
С нами с 14.08.2011

Re: фокуси з парсером на Chrome [Re: kvadjagan]
      22 февраля 2023 в 15:58 Гілками

дякую всім за допомогу
Клієнт знайшов на офісі монітор з поворотним кронштейном, і на робочому місці тепер 2 моніка. Один для торгів спеціально виставленний в книжну орієнтацію і в нього влазять всі товари. Драйвера кривенькі, трошки тупить але все працює, дале вже нюанси по швидкості але проблему поки що вирішено без кардинальних змін софту.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Autoua.netФорумІнформатика та побутова електроніка
Додаткова інформація
2 користувачів і 2 що побажали залишитися невідомими читають цей форум.

Модератор:  AlMat, Yorc, moderator 

Роздрукувати всю тему

Права
      Ви не можете створювати нові теми
      Ви не можете відповідати на повідомлення
      HTML дозволений
      UBBCode дозволений

Рейтинг:
Переглядів теми: 850

Оціните цю тему

Перейти в

Правила конференції | Календар | FAQ | Карта розділу | Мобільна версія