Cможет ли скрипт выполнить задачу

User avatar
kyk
Уже с Приветом
Posts: 31438
Joined: 21 Nov 2004 05:12
Location: камбуз на кампусе

Cможет ли скрипт выполнить задачу

Post by kyk »

которую я выполняю в ручную.

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

API или SQL доступа у меня нет.

А есть доступ "для девочек" через web interface с SSO 2FA authorization.
Т.е. я ввожу свой username, password и ещё раз в день -- 2FA.

Далее я вввожу customer ID, кликаю, открывается новоё окно, в нём я снова ввожу customer ID, снова кликаю и в результате на экране появляется record этого кастомера. Далее я смотрю два поля и если в обоих полях присутствует 100%, то типа всё ОК и никаких действий не требуется, если менее 100%, то этого кастомера надо взять на карандаш, т.е. записать его номер.

Таким образом, у меня изначально есть список из 200-300 номеров таких кастомеров, я должен каждого из них посмотреть и на выходе составить список номеров тех, у кого меньше 100%.

Можно ли этот процесс заменить скриптом на Питоне?
Заодно будет стимул выучить Питон, поскольку позволит впоследствии экономить время на этой ручной задаче.
Задача возникает раз в 3 месяца.

2FA я готов вводить в ручную
Last edited by kyk on 17 Sep 2021 08:45, edited 1 time in total.
Лучше переесть, чем недоспать! © Обратное тоже верно :umnik1:
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Cможет ли скрипт выполнить задачу

Post by OtherSide »

Конечно можно
Это по моему назвается парсинг сайта. Буквально недавно так данные по акциям с сайта NASDAQ скачаивал.
В отладчике посмотрел формочка к каким запросам обращается, в js отладчике написал код в цикле, который каждые 10 секунд делает 100 кликов (что бы обойти защиту), и так все скачал (данные по 9000 акций)
User avatar
kyk
Уже с Приветом
Posts: 31438
Joined: 21 Nov 2004 05:12
Location: камбуз на кампусе

Re: Cможет ли скрипт выполнить задачу

Post by kyk »

OtherSide wrote: 17 Sep 2021 08:45 Конечно можно
Это по моему назвается парсинг сайта. Буквально недавно так данные по акциям с сайта NASDAQ скачаивал.
В отладчике посмотрел формочка к каким запросам обращается, в js отладчике написал код в цикле, который каждые 10 секунд делает 100 кликов (что бы обойти защиту), и так все скачал (данные по 9000 акций)
а на Питоне можно? Дай на-водку - есть ли для этого библиотеки?
Лучше переесть, чем недоспать! © Обратное тоже верно :umnik1:
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Cможет ли скрипт выполнить задачу

Post by OtherSide »

Я питон не знаю, и вообще у сайтов часто есть защита, там смотрят по редиректу если не со страницы сайта запрос и/или не авторизован по кукам, то блокируют доступ. Помню когда то давно парсил на шарпе, была по моему библиотека которая парсила html table в данные. Но сейчас как я уже сказал а) защита б) SPA сайты, где все и так приходит json потому проще инъекцию кода сделать и через нее все высосать. У меня ломануть както походя получилось, помоему часа 3 поторатил, так что даже подробностей не успел запомнить
User avatar
kyk
Уже с Приветом
Posts: 31438
Joined: 21 Nov 2004 05:12
Location: камбуз на кампусе

Re: Cможет ли скрипт выполнить задачу

Post by kyk »

OtherSide wrote: 17 Sep 2021 08:54Но сейчас как я уже сказал а) защита б) SPA сайты
а если просто сэмулировать действия живого человека - ввод с клавитатуры и щелчки мышью?
Лучше переесть, чем недоспать! © Обратное тоже верно :umnik1:
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Cможет ли скрипт выполнить задачу

Post by OtherSide »

kyk wrote: 17 Sep 2021 09:13
OtherSide wrote: 17 Sep 2021 08:54Но сейчас как я уже сказал а) защита б) SPA сайты
а если просто сэмулировать действия живого человека - ввод с клавитатуры и щелчки мышью?
В смысле? программно поверх браузера эмулировать мышь что ли?
Может и можно но по моему бред и гемор. Лучше в отладчике браузера программно вызывать функцию которая на onClick

Этот сайтик в паблик доступе вообще? Если да кинь ссылку гляну что можно сделать
User avatar
kyk
Уже с Приветом
Posts: 31438
Joined: 21 Nov 2004 05:12
Location: камбуз на кампусе

Re: Cможет ли скрипт выполнить задачу

Post by kyk »

OtherSide wrote: 17 Sep 2021 09:15 кинь ссылку гляну что можно сделать
отправил в PM
Лучше переесть, чем недоспать! © Обратное тоже верно :umnik1:
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Cможет ли скрипт выполнить задачу

Post by iDesperado »

kyk wrote: 17 Sep 2021 09:13 а если просто сэмулировать действия живого человека - ввод с клавитатуры и щелчки мышью?
когда-то очень давно игрался в какую-то космическую MMO игршку, там деньги можно было зарабатывать в квестах. один из квестов типа собираешь корабль (навешиваешь броню, пушки, двигатели) и бой идет автоматом. у меня была прога под виду, что записывала движения мыши в скрипт и его проигрывала. в принципе у меня работала но какие-то смещения почему-то были после пары сотен итераций.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Cможет ли скрипт выполнить задачу

Post by Flash-04 »

SSO авторизация может стать большой проблемой для такого скрипта. Про неё не забыли?
Not everyone believes what I believe but my beliefs do not require them to.
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Cможет ли скрипт выполнить задачу

Post by OtherSide »

Flash-04 wrote: 17 Sep 2021 13:23 SSO авторизация может стать большой проблемой для такого скрипта. Про неё не забыли?
Я писал выше, что обошел js инъекцией. Авторизуетесь и дальше делаете вызовы, которые обрабатываете и сохраняете куда надо
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Cможет ли скрипт выполнить задачу

Post by Flash-04 »

Ну если ТС освоит тогда да :)
Not everyone believes what I believe but my beliefs do not require them to.
Palych
Уже с Приветом
Posts: 13989
Joined: 16 Jan 2001 10:01

Re: Cможет ли скрипт выполнить задачу

Post by Palych »

kyk wrote: 17 Sep 2021 09:13
OtherSide wrote: 17 Sep 2021 08:54Но сейчас как я уже сказал а) защита б) SPA сайты
а если просто сэмулировать действия живого человека - ввод с клавитатуры и щелчки мышью?
Есть такой инструмент для тестирования сайтов, позволяет эмулировать и скриптовать ввод и щелчки.
Но я всегда забываю его название...
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Cможет ли скрипт выполнить задачу

Post by iDesperado »

Palych wrote: 17 Sep 2021 16:33 Есть такой инструмент для тестирования сайтов, позволяет эмулировать и скриптовать ввод и щелчки.
Но я всегда забываю его название...
Selenium
Palych
Уже с Приветом
Posts: 13989
Joined: 16 Jan 2001 10:01

Re: Cможет ли скрипт выполнить задачу

Post by Palych »

iDesperado wrote: 17 Sep 2021 16:55
Palych wrote: 17 Sep 2021 16:33 Есть такой инструмент для тестирования сайтов, позволяет эмулировать и скриптовать ввод и щелчки.
Но я всегда забываю его название...
Selenium
Точно!
User avatar
liamkin
Уже с Приветом
Posts: 2601
Joined: 19 Jun 2003 20:22
Location: USA

Re: Cможет ли скрипт выполнить задачу

Post by liamkin »

Palych wrote: 17 Sep 2021 16:59
iDesperado wrote: 17 Sep 2021 16:55
Palych wrote: 17 Sep 2021 16:33 Есть такой инструмент для тестирования сайтов, позволяет эмулировать и скриптовать ввод и щелчки.
Но я всегда забываю его название...
Selenium
Точно!
У меня первая реакция была - AutoIt или еще какой Виндоус макро рекордер. Помнится в далекие 90-е для ГУИ приложения под Мак надо было масс-тестирование делать, клики, клавиши и прочее. Был хороший макро-рекордер и он неплохо справился. А под Винды и получше есть. Можно наверняка экран читать.
Palych
Уже с Приветом
Posts: 13989
Joined: 16 Jan 2001 10:01

Re: Cможет ли скрипт выполнить задачу

Post by Palych »

liamkin wrote: 17 Sep 2021 17:09
Palych wrote: 17 Sep 2021 16:59
iDesperado wrote: 17 Sep 2021 16:55
Palych wrote: 17 Sep 2021 16:33 Есть такой инструмент для тестирования сайтов, позволяет эмулировать и скриптовать ввод и щелчки.
Но я всегда забываю его название...
Selenium
Точно!
У меня первая реакция была - AutoIt или еще какой Виндоус макро рекордер. Помнится в далекие 90-е для ГУИ приложения под Мак надо было масс-тестирование делать, клики, клавиши и прочее. Был хороший макро-рекордер и он неплохо справился. А под Винды и получше есть. Можно наверняка экран читать.
Читать экран в браузере на порядок проще чем на уровне OS.
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Cможет ли скрипт выполнить задачу

Post by iDesperado »

Palych wrote: 17 Sep 2021 17:19
Читать экран в браузере на порядок проще чем на уровне OS.
а у меня в свое время с этим Selenium толком не получилось. у меня был какой-то аддон в бровсер, который сохранял скрипт, который я в java код превращал. но он толком не работал, как я понял Selenium слишком быстро тыркать начинал, приходилось повсюду паузы ставить и все равно как-то через раз работало
User avatar
liamkin
Уже с Приветом
Posts: 2601
Joined: 19 Jun 2003 20:22
Location: USA

Re: Cможет ли скрипт выполнить задачу

Post by liamkin »

iDesperado wrote: 17 Sep 2021 17:30
Palych wrote: 17 Sep 2021 17:19
Читать экран в браузере на порядок проще чем на уровне OS.
а у меня в свое время с этим Selenium толком не получилось. у меня был какой-то аддон в бровсер, который сохранял скрипт, который я в java код превращал. но он толком не работал, как я понял Selenium слишком быстро тыркать начинал, приходилось повсюду паузы ставить и все равно как-то через раз работало
Еще в далеком 2003 году SiteScope (веб-монитор) умел слать запросы и получать назад, и можно было поля читать и заполнять. Правда он современные Javascipt генеренные сайты наверное не умеет. Поэтому я ДжС недолюбливаю. Выпендрежный он. Простой HTML мне милее. :great:
User avatar
Komissar
Уже с Приветом
Posts: 65206
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: Cможет ли скрипт выполнить задачу

Post by Komissar »

iDesperado wrote: 17 Sep 2021 16:55
Palych wrote: 17 Sep 2021 16:33 Есть такой инструмент для тестирования сайтов, позволяет эмулировать и скриптовать ввод и щелчки.
Но я всегда забываю его название...
Selenium
вот я тоже селениум хотел предложить
User avatar
kyk
Уже с Приветом
Posts: 31438
Joined: 21 Nov 2004 05:12
Location: камбуз на кампусе

Re: Cможет ли скрипт выполнить задачу

Post by kyk »

Komissar wrote: 17 Sep 2021 22:54селениум хотел предложить
а это покупать надо?
Если $100 - я заплачУ.
А если $1000- то жалко бабок

Хотя и $1000 бы заплатил, но только приусловии, что это гарантированно решит мою задачу
Лучше переесть, чем недоспать! © Обратное тоже верно :umnik1:
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Cможет ли скрипт выполнить задачу

Post by OtherSide »

Flash-04 wrote: 17 Sep 2021 13:56 Ну если ТС освоит тогда да :)
Блин ну по моему это на порядок проще чем авторизацию осваивать.
Откырваешь developer mode в хроме. Переходишь на закладу network. Обновляешь страничку с данными. И смотришь какой именно запрос в нетворке отдает.
Определяешь какие параметры ее должны отдавать.
Затем в отладчике же добавляешь функцию и вызываешь в цикле. Функция считывает и скидывает на диск.
Постобработку думаю разберется как делать
User avatar
Komissar
Уже с Приветом
Posts: 65206
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: Cможет ли скрипт выполнить задачу

Post by Komissar »

iDesperado wrote: 17 Sep 2021 17:30
Palych wrote: 17 Sep 2021 17:19
Читать экран в браузере на порядок проще чем на уровне OS.
а у меня в свое время с этим Selenium толком не получилось. у меня был какой-то аддон в бровсер, который сохранял скрипт, который я в java код превращал. но он толком не работал, как я понял Selenium слишком быстро тыркать начинал, приходилось повсюду паузы ставить и все равно как-то через раз работало
то вам ранняя жаба не торт, то селениум не запускается... что-то надо подправить в консерватории?
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Cможет ли скрипт выполнить задачу

Post by iDesperado »

Komissar wrote: 18 Sep 2021 09:57 то вам ранняя жаба не торт, то селениум не запускается... что-то надо подправить в консерватории?
вас так раздражают более опытные и знающие люди ? очевидно, что у меня и в java больше знаний и селениум я в отличие от вас щупал. хотите это обсудить ?
User avatar
Vladimir Kr.
Уже с Приветом
Posts: 572
Joined: 24 Mar 2004 07:31
Location: Krasnoyrsk -> -> Chicago

Re: Cможет ли скрипт выполнить задачу

Post by Vladimir Kr. »

3 разных подхода:
1. скрип на питоне или даже баше:
1.1. (предварительно) сделать логин, авторизацию и получить токен
1.2. в браузере (как выше говорили) узнать апи запросы - ответы; разобрать ответ; сохранить в файл
если нет специальной защиты, то оч. просто сделать файл с клиентID + токен на вход, апи запросы, парсинг и сохранение в файл на выходе.

2. селениум:
2.1. поставить яву, webdriver, браузер
2.2. написать на яве: вход, авторизацию, и все действия по кликам и парсингу
2.3. запуск будет эмулировать всю работу включая открытие окна и движение мышкой

3. почти тоже, но без явы и кодинга - uipath (RPA) какой нибудь,
3.1. работает как хоткей скрипт, но записанные действия мышки-клавы, сохраняются для последующего запуска
3.2. далее можно взять данные из элементов html и сохранить
моя родина СССР!

Return to “Вопросы и новости IT”