Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
274 / 177 / 103
Регистрация: 14.11.2017
Сообщений: 466
1

Создание примитивного веб-сервиса для парсинга

30.06.2020, 17:38. Просмотров 1570. Ответов 3
Метки нет (Все метки)

Здравствуйте. Есть задание: нужно создать веб-сервис с виде сайта. Сайт простенький - форма входа\регистрации и форма ввода ссылки для парсинга. Страница по ссылке будет парситься, и результат быдет выводиться пользователю в виде таблицы.
Для парсинга введенной страницы сайта нужно быть авторизованым пользователем на нем (для этого предпологается завести специальный аккаунт). Так же чтобы спарсить все данные на странице нужно будет тыкнуть пару кнопок\ссылок\заполнить формы. Но я в этом ещё слабо плаваю, и меня интересует пару моментов:


1. Какой фреймворк использовать для такого примитивного сайта (слышал что bottle очень легковесный и простой, но может у кого-то будут варианты по их мнению лучше)

2. Какие библиотеки\модули лучше использовать для парсинга информации

3. Какие библиотеки\модули лучше использовать для авторизации\эмуляции заполнения форм\эмуляции нажатия кнопок



Да, в интернете полно гайдов по парсингу и прочему, но хотел бы услышать советы, замечания и возможно настановы от обитателей форума чтобы знать куда лучше "копать".
Спасибо за внимание, буду рад любому совету
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.06.2020, 17:38
Ответы с готовыми решениями:

Технологии написания сайта/сервиса на php для парсинга сайтов
Сразу вопрос: с помощью каких технологий можно реализовать пункты описанные ниже? Я начитался в...

Создание веб-сервиса
Необходимо создать сервис для построения интернет магазинов спортивной одежды. Вопрос состоит в...

Создание веб сервиса
Добрый день, Возможно пишу не в той ветке. подскажите как поступить, необходимо создать веб...

Создание клиента веб-сервиса
Есть необходимость написания клиента к ресурсу -...

3
3268 / 2499 / 874
Регистрация: 28.10.2013
Сообщений: 6,573
30.06.2020, 18:21 2
Лучший ответ Сообщение было отмечено zhurban как решение

Решение

1)
Можете рассмотреть еще cherrypy. В отличие от bottle он имеет встроенный многопоточный сервер, который можно (как пишут) использовать не только для разработки. В bottle же есть только сервер разработки (однопоточный wsgiref) - на проде к нему нужно будет скорей всего подключать что-то типа gunicorn или тот же cherrypy (как сказано выше, он имеет встроенный многопоточный сервер). Ну и авторизация в cherry уже есть. В Bottle нужно подключать плагин.

Ну а прочие варианты не трудно предугадать: Flask и далее - Django как мегамонстр web-разработки.

Сервера, поддерживаемые bottle для подключения в качестве application server:
Код
cgi	 	Run as CGI script
flup	flup	Run as FastCGI process
gae	gae	Helper for Google App Engine deployments
wsgiref	wsgiref	Single-threaded default server
cherrypy	cherrypy	Multi-threaded and very stable
paste	paste	Multi-threaded, stable, tried and tested
waitress	waitress	Multi-threaded, poweres Pyramid
gunicorn	gunicorn	Pre-forked, partly written in C
eventlet	eventlet	Asynchronous framework with WSGI support.
gevent	gevent	Asynchronous (greenlets)
diesel	diesel	Asynchronous (greenlets)
fapws3	fapws3	Asynchronous (network side only), written in C
tornado	tornado	Asynchronous, powers some parts of Facebook
twisted	twisted	Asynchronous, well tested but… twisted
meinheld	meinheld	Asynchronous, partly written in C
bjoern	bjoern	Asynchronous, very fast and written in C
2) lxml (ну, это мой выбор, другие назовут BeautifulSoup4 как более простую для новичков, но я уже не раз высказывался о том, что новички ее все равно неверно используют, чему способствует сам API библиотеки).
1
274 / 177 / 103
Регистрация: 14.11.2017
Сообщений: 466
30.06.2020, 19:57  [ТС] 3
Garry Galler, спасибо вам большое за совет, снимаю шляпу

Добавлено через 1 час 20 минут
Garry Galler, извините за возможно глупый вопрос, но:
Как я и упоминал, спарсить нужные данные можно лишь если пользователь авторизован + нужно будет жать ещё ссылки и кнопки. И желательно чтобы сессия авторизации была активна продолжительное время, а не авторизироваться каждый раз когда приходит запрос на парсинг.
Что нужно использовать чтобы это провернуть? Может тоже какие библиотеки\модули? Или, если можете, подскажите как такие инструменты в общем называются правильно
Спасибо заранее
0
Эксперт С++
1581 / 911 / 777
Регистрация: 06.02.2016
Сообщений: 2,385
Записей в блоге: 21
01.07.2020, 17:17 4
Лучший ответ Сообщение было отмечено zhurban как решение

Решение

Цитата Сообщение от zhurban Посмотреть сообщение
спарсить нужные данные можно лишь если пользователь авторизован + нужно будет жать ещё ссылки и кнопки.
Selenium в помощь
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2020, 17:17

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Создание непрерывно-работающего веб-сервиса
Здравствуйте! Я новичок в веб-сервисах, не знаю ещё всех их возможностей. Но у меня такой вопрос: ...

Создание собственного почтового веб-сервиса
Кто занимался вопросами создания собственного почтового сервиса (допустим, чтобы пользователи сайта...

Создание веб-сервиса управляющего локальной базой
Всем привет,х очу создать веб сервис который смог бы управлять базой данных, думаю для начала...

Php, python или ruby для веб парсинга
Добрый день! Есть задача написать парсер сайта. Функционал парсера самый обычный, собирать...

Пишу CMS для веб сервиса
Всем привет. Хочу сделать веб сервис. Для него нужна своя CMS. Готовые варианты не подойдут. PHP...

Как пишутся веб-сервисы для автоматического парсинга RSS-лент
Доброго времени суток! Народ как пишутся веб-сервисы для автоматического парсинга rss-лент?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.