Как сделать парсинг страницы каждые 30сек и отдавать результат в XML?
Задача заключается в парсинге одной страницы, а точнее данных в определенной таблице, которые регулярно обновляются. Данные динамические, т.е. на страницу подгружаются через AJAX (смотрел через вкладку Network, запрос делается каждые 10 секунд). Данных там немного. Всего 20 ячеек с числами.
Я хочу сделать простой парсер на Selenium, однако задаюсь вопросом как его поместить на удаленном сервере, чтобы парсинг происходил с заданной периодичностью, и как организовать доступ к полученным данным. Понадобится ли для этого какой-нибудь микро-фреймворк типа Flask?
javedimka: я ждал этой реплики. И забыл добавить: не предлагайте делать AJAX запрос напрямую. Хотелось бы помощи по теме, там еще вопросы были. Спасибо :)
Pavel Denisov: Не знаю, что у ТС за причины.
То что видел я - это была хитрогенерируемая хеш строка для каждого запроса на основе меняющихся ключей от сервера с непонятно где запрятанным алгоритмом генерации (pack, eval) и раз в несколько раз в сутки меняли названия полей, атрибутов, которые используют для хеша.
Вот в таком случае бывает дешевле делать запросы через браузер/selenium
Selenium - использовать в последнюю очередь (если другой метод не подойдет). Раз вы видите запрос (то есть знаете его URL, Header, ну и конечно куки) попробуйте сделать запросы через requests и парсите через LXML. Можно запустить в цикл и зная старт время удержать через time.slip()
Хорошо, попробую сделать так. А что делать с сохранением и выдачей результатов? Нам нужно воспользоваться этими результатами в прямом эфире на другом сайте, т.е. типо микро-сервис, который отдает XML.
Bjornie: извини, конечно, но моим ответом вообще должна была быть жалоба с причиной "Ответ легко ищется поисковиком", потому что статья о "Парсинге" с помощью селениума есть даже на русском, как залить скрипт на впску тоже, ну а о том, как его запускать через временные промежутки - так тут это на тостере каждую неделю спрашивают.
Единственная причина по которой тебя спрашивали про самостоятельную отправку запроса так это то, что в ответ может приходит структурированный Json который можно одной строкой преобразовать в xml и отправить куда нужно и получить скрипт длинной в 6 строк, а не в сотню.
Удачи тебе с таким настроем.