Cможет ли скрипт выполнить задачу
-
- Уже с Приветом
- Posts: 31438
- Joined: 21 Nov 2004 05:12
- Location: камбуз на кампусе
Cможет ли скрипт выполнить задачу
которую я выполняю в ручную.
Есть большая база данных кастомеров, у каждого кастомера есть свой порядковый номер и record с парой десятков полей.
API или SQL доступа у меня нет.
А есть доступ "для девочек" через web interface с SSO 2FA authorization.
Т.е. я ввожу свой username, password и ещё раз в день -- 2FA.
Далее я вввожу customer ID, кликаю, открывается новоё окно, в нём я снова ввожу customer ID, снова кликаю и в результате на экране появляется record этого кастомера. Далее я смотрю два поля и если в обоих полях присутствует 100%, то типа всё ОК и никаких действий не требуется, если менее 100%, то этого кастомера надо взять на карандаш, т.е. записать его номер.
Таким образом, у меня изначально есть список из 200-300 номеров таких кастомеров, я должен каждого из них посмотреть и на выходе составить список номеров тех, у кого меньше 100%.
Можно ли этот процесс заменить скриптом на Питоне?
Заодно будет стимул выучить Питон, поскольку позволит впоследствии экономить время на этой ручной задаче.
Задача возникает раз в 3 месяца.
2FA я готов вводить в ручную
Есть большая база данных кастомеров, у каждого кастомера есть свой порядковый номер и 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.
Лучше переесть, чем недоспать! © Обратное тоже верно
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Cможет ли скрипт выполнить задачу
Конечно можно
Это по моему назвается парсинг сайта. Буквально недавно так данные по акциям с сайта NASDAQ скачаивал.
В отладчике посмотрел формочка к каким запросам обращается, в js отладчике написал код в цикле, который каждые 10 секунд делает 100 кликов (что бы обойти защиту), и так все скачал (данные по 9000 акций)
Это по моему назвается парсинг сайта. Буквально недавно так данные по акциям с сайта NASDAQ скачаивал.
В отладчике посмотрел формочка к каким запросам обращается, в js отладчике написал код в цикле, который каждые 10 секунд делает 100 кликов (что бы обойти защиту), и так все скачал (данные по 9000 акций)
-
- Уже с Приветом
- Posts: 31438
- Joined: 21 Nov 2004 05:12
- Location: камбуз на кампусе
Re: Cможет ли скрипт выполнить задачу
а на Питоне можно? Дай на-водку - есть ли для этого библиотеки?OtherSide wrote: ↑17 Sep 2021 08:45 Конечно можно
Это по моему назвается парсинг сайта. Буквально недавно так данные по акциям с сайта NASDAQ скачаивал.
В отладчике посмотрел формочка к каким запросам обращается, в js отладчике написал код в цикле, который каждые 10 секунд делает 100 кликов (что бы обойти защиту), и так все скачал (данные по 9000 акций)
Лучше переесть, чем недоспать! © Обратное тоже верно
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Cможет ли скрипт выполнить задачу
Я питон не знаю, и вообще у сайтов часто есть защита, там смотрят по редиректу если не со страницы сайта запрос и/или не авторизован по кукам, то блокируют доступ. Помню когда то давно парсил на шарпе, была по моему библиотека которая парсила html table в данные. Но сейчас как я уже сказал а) защита б) SPA сайты, где все и так приходит json потому проще инъекцию кода сделать и через нее все высосать. У меня ломануть както походя получилось, помоему часа 3 поторатил, так что даже подробностей не успел запомнить
-
- Уже с Приветом
- Posts: 31438
- Joined: 21 Nov 2004 05:12
- Location: камбуз на кампусе
Re: Cможет ли скрипт выполнить задачу
а если просто сэмулировать действия живого человека - ввод с клавитатуры и щелчки мышью?
Лучше переесть, чем недоспать! © Обратное тоже верно
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Cможет ли скрипт выполнить задачу
В смысле? программно поверх браузера эмулировать мышь что ли?
Может и можно но по моему бред и гемор. Лучше в отладчике браузера программно вызывать функцию которая на onClick
Этот сайтик в паблик доступе вообще? Если да кинь ссылку гляну что можно сделать
-
- Уже с Приветом
- Posts: 31438
- Joined: 21 Nov 2004 05:12
- Location: камбуз на кампусе
Re: Cможет ли скрипт выполнить задачу
Лучше переесть, чем недоспать! © Обратное тоже верно
-
- Уже с Приветом
- Posts: 1349
- Joined: 28 Nov 2008 17:50
Re: Cможет ли скрипт выполнить задачу
когда-то очень давно игрался в какую-то космическую MMO игршку, там деньги можно было зарабатывать в квестах. один из квестов типа собираешь корабль (навешиваешь броню, пушки, двигатели) и бой идет автоматом. у меня была прога под виду, что записывала движения мыши в скрипт и его проигрывала. в принципе у меня работала но какие-то смещения почему-то были после пары сотен итераций.
-
- Уже с Приветом
- Posts: 63377
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Cможет ли скрипт выполнить задачу
SSO авторизация может стать большой проблемой для такого скрипта. Про неё не забыли?
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
-
- Уже с Приветом
- Posts: 63377
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Cможет ли скрипт выполнить задачу
Ну если ТС освоит тогда да
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 13664
- Joined: 16 Jan 2001 10:01
Re: Cможет ли скрипт выполнить задачу
Есть такой инструмент для тестирования сайтов, позволяет эмулировать и скриптовать ввод и щелчки.
Но я всегда забываю его название...
-
- Уже с Приветом
- Posts: 1349
- Joined: 28 Nov 2008 17:50
-
- Уже с Приветом
- Posts: 13664
- Joined: 16 Jan 2001 10:01
Re: Cможет ли скрипт выполнить задачу
Точно!
-
- Уже с Приветом
- Posts: 2603
- Joined: 19 Jun 2003 20:22
- Location: USA
Re: Cможет ли скрипт выполнить задачу
У меня первая реакция была - AutoIt или еще какой Виндоус макро рекордер. Помнится в далекие 90-е для ГУИ приложения под Мак надо было масс-тестирование делать, клики, клавиши и прочее. Был хороший макро-рекордер и он неплохо справился. А под Винды и получше есть. Можно наверняка экран читать.
-
- Уже с Приветом
- Posts: 13664
- Joined: 16 Jan 2001 10:01
Re: Cможет ли скрипт выполнить задачу
Читать экран в браузере на порядок проще чем на уровне OS.liamkin wrote: ↑17 Sep 2021 17:09У меня первая реакция была - AutoIt или еще какой Виндоус макро рекордер. Помнится в далекие 90-е для ГУИ приложения под Мак надо было масс-тестирование делать, клики, клавиши и прочее. Был хороший макро-рекордер и он неплохо справился. А под Винды и получше есть. Можно наверняка экран читать.
-
- Уже с Приветом
- Posts: 1349
- Joined: 28 Nov 2008 17:50
Re: Cможет ли скрипт выполнить задачу
а у меня в свое время с этим Selenium толком не получилось. у меня был какой-то аддон в бровсер, который сохранял скрипт, который я в java код превращал. но он толком не работал, как я понял Selenium слишком быстро тыркать начинал, приходилось повсюду паузы ставить и все равно как-то через раз работало
-
- Уже с Приветом
- Posts: 2603
- Joined: 19 Jun 2003 20:22
- Location: USA
Re: Cможет ли скрипт выполнить задачу
Еще в далеком 2003 году SiteScope (веб-монитор) умел слать запросы и получать назад, и можно было поля читать и заполнять. Правда он современные Javascipt генеренные сайты наверное не умеет. Поэтому я ДжС недолюбливаю. Выпендрежный он. Простой HTML мне милее.iDesperado wrote: ↑17 Sep 2021 17:30а у меня в свое время с этим Selenium толком не получилось. у меня был какой-то аддон в бровсер, который сохранял скрипт, который я в java код превращал. но он толком не работал, как я понял Selenium слишком быстро тыркать начинал, приходилось повсюду паузы ставить и все равно как-то через раз работало
-
- Уже с Приветом
- Posts: 64661
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: Cможет ли скрипт выполнить задачу
вот я тоже селениум хотел предложить
-
- Уже с Приветом
- Posts: 31438
- Joined: 21 Nov 2004 05:12
- Location: камбуз на кампусе
Re: Cможет ли скрипт выполнить задачу
а это покупать надо?
Если $100 - я заплачУ.
А если $1000- то жалко бабок
Хотя и $1000 бы заплатил, но только приусловии, что это гарантированно решит мою задачу
Лучше переесть, чем недоспать! © Обратное тоже верно
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: Cможет ли скрипт выполнить задачу
Блин ну по моему это на порядок проще чем авторизацию осваивать.
Откырваешь developer mode в хроме. Переходишь на закладу network. Обновляешь страничку с данными. И смотришь какой именно запрос в нетворке отдает.
Определяешь какие параметры ее должны отдавать.
Затем в отладчике же добавляешь функцию и вызываешь в цикле. Функция считывает и скидывает на диск.
Постобработку думаю разберется как делать
-
- Уже с Приветом
- Posts: 64661
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: Cможет ли скрипт выполнить задачу
то вам ранняя жаба не торт, то селениум не запускается... что-то надо подправить в консерватории?iDesperado wrote: ↑17 Sep 2021 17:30а у меня в свое время с этим Selenium толком не получилось. у меня был какой-то аддон в бровсер, который сохранял скрипт, который я в java код превращал. но он толком не работал, как я понял Selenium слишком быстро тыркать начинал, приходилось повсюду паузы ставить и все равно как-то через раз работало
-
- Уже с Приветом
- Posts: 1349
- Joined: 28 Nov 2008 17:50
-
- Уже с Приветом
- Posts: 539
- Joined: 24 Mar 2004 07:31
- Location: Krasnoyrsk -> -> Chicago
Re: Cможет ли скрипт выполнить задачу
3 разных подхода:
1. скрип на питоне или даже баше:
1.1. (предварительно) сделать логин, авторизацию и получить токен
1.2. в браузере (как выше говорили) узнать апи запросы - ответы; разобрать ответ; сохранить в файл
если нет специальной защиты, то оч. просто сделать файл с клиентID + токен на вход, апи запросы, парсинг и сохранение в файл на выходе.
2. селениум:
2.1. поставить яву, webdriver, браузер
2.2. написать на яве: вход, авторизацию, и все действия по кликам и парсингу
2.3. запуск будет эмулировать всю работу включая открытие окна и движение мышкой
3. почти тоже, но без явы и кодинга - uipath (RPA) какой нибудь,
3.1. работает как хоткей скрипт, но записанные действия мышки-клавы, сохраняются для последующего запуска
3.2. далее можно взять данные из элементов html и сохранить
1. скрип на питоне или даже баше:
1.1. (предварительно) сделать логин, авторизацию и получить токен
1.2. в браузере (как выше говорили) узнать апи запросы - ответы; разобрать ответ; сохранить в файл
если нет специальной защиты, то оч. просто сделать файл с клиентID + токен на вход, апи запросы, парсинг и сохранение в файл на выходе.
2. селениум:
2.1. поставить яву, webdriver, браузер
2.2. написать на яве: вход, авторизацию, и все действия по кликам и парсингу
2.3. запуск будет эмулировать всю работу включая открытие окна и движение мышкой
3. почти тоже, но без явы и кодинга - uipath (RPA) какой нибудь,
3.1. работает как хоткей скрипт, но записанные действия мышки-клавы, сохраняются для последующего запуска
3.2. далее можно взять данные из элементов html и сохранить
моя родина СССР!