Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
291 / 193 / 104
Регистрация: 14.11.2017
Сообщений: 489

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

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

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


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

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

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



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

Создание веб сервиса для интеграции (C#, SOAP, XSD)
Есть 4 XSD файла (Request, Response, и 2 других по сервису) и 3 Wsdl-а. С XSD получил СS файл, открыл в visual studio исправив ошибки (для...

Создание веб-сервиса
Не могу создать веб-сервис. Использую MSVisual 2005, там при создании нужно указать адрес http://localhost/HelloWorldService. Ошибка вот...

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

3
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
30.06.2020, 18:21
Лучший ответ Сообщение было отмечено zhurban как решение

Решение

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

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

Сервера, поддерживаемые bottle для подключения в качестве application server:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
291 / 193 / 104
Регистрация: 14.11.2017
Сообщений: 489
30.06.2020, 19:57  [ТС]
Garry Galler, спасибо вам большое за совет, снимаю шляпу

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

Решение

Цитата Сообщение от zhurban Посмотреть сообщение
спарсить нужные данные можно лишь если пользователь авторизован + нужно будет жать ещё ссылки и кнопки.
Selenium в помощь
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.07.2020, 17:17
Помогаю со студенческими работами здесь

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

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

Создание клиента веб-сервиса
Есть необходимость написания клиента к ресурсу - http://ruzditest.eisnot.ru:8280/services/ruzdiGetNotificationPackageStateService_v1_0?wsdl...

Создание веб сервиса по подбору диеты
Можно где-нибудь найти информацию по практике создания веб сервисов? Хочу понять - как правильно сделать сервис, который берёт информацию...

создание приложения с подключением веб сервиса
Есть следующая задача - необходимо забрать данные из веб сервиса, далее в зависимости от типа сообщения открывать разные view. Если есть...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru