@Bjornie
Изучаю Python

Как сделать парсинг страницы каждые 30сек и отдавать результат в XML?

Задача заключается в парсинге одной страницы, а точнее данных в определенной таблице, которые регулярно обновляются. Данные динамические, т.е. на страницу подгружаются через AJAX (смотрел через вкладку Network, запрос делается каждые 10 секунд). Данных там немного. Всего 20 ячеек с числами.

Я хочу сделать простой парсер на Selenium, однако задаюсь вопросом как его поместить на удаленном сервере, чтобы парсинг происходил с заданной периодичностью, и как организовать доступ к полученным данным. Понадобится ли для этого какой-нибудь микро-фреймворк типа Flask?
  • Вопрос задан
  • 1552 просмотра
Пригласить эксперта
Ответы на вопрос 4
Revencu
@Revencu
Selenium - использовать в последнюю очередь (если другой метод не подойдет). Раз вы видите запрос (то есть знаете его URL, Header, ну и конечно куки) попробуйте сделать запросы через requests и парсите через LXML. Можно запустить в цикл и зная старт время удержать через time.slip()
Ответ написан
x67
@x67
в терминале:
crontab -e
в редакторе после всех комментов добавить:
* * * * * /usr/bin/python3 parser.py #запуск скрипта каждую минуту
* * * * * (sleep 30;  /usr/bin/python3 parser.py) #запуск скрипта каждую минуту с задержкой в 30 сек


Данные хранить в БД, доступ обращением к БД. Можно еще на jupyterе поднять сервер и его средствами проводить обработку и визуализацию.
Ответ написан
Комментировать
@Verz1Lka
Web scraping expert
Сделайте на scrapy. Парсеры делаются легко, есть экпорт в XML из коробки.
Ответ написан
Комментировать
@froststorm
Таблица парсится тремя строками через pandas
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы