Сравнение модуля запроса и selenium в Python

#python #selenium #python-requests

#python #selenium #python-запросы

Вопрос:

Я создал программу, которая работает с selenium, и она автоматизирует публикацию комментариев к содержимому некоторых блогов. Я не знаком с модулем запросов python. (работаю над этим всего неделю) Мне интересно то, что моя программа с selenium немного медленно загружает страницу и загружает все, от рекламы до изображений / видео. Если бы я создал свою программу с модулем запросов, сохранила бы она данные и немного быстрее в соответствии с модулем selenium?

Я искал эту проблему на некоторых форумах, как правило, они говорят, что модули запроса немного быстрее, но не все. Также я не смог найти никакой информации о сохранении данных, сравнивая эти модули?

Пожалуйста, не давайте мне прямых советов. Мне нужен этот ответ с подробностями.

Ответ №1:

Selenium используется для веб-автоматизации путем нажатия на веб-элементы и отправки ключей в поля ввода.

Чтобы ускорить работу selenium, используйте безголовый режим, чтобы визуальные компоненты, такие как реклама, не загружались и работа выполнялась быстро , перейдите к документации selenium, чтобы узнать больше о безголовом режиме.

While requests используется для HTTP-методов, таких как GET, POST и т. Д. Узнайте больше о запросах здесь

Если на сайте блогов есть общедоступный api, вы можете использовать модуль запросов.

Если вы новичок в API, я рекомендую посмотреть это видео на YouTube https://youtu.be/GZvSYJDk-us

Например, для создания проблем на GitHub вы можете использовать GitHub API.

Но чтобы комментировать сайт блогов, на котором нет общедоступного api, вам нужно использовать selenium.

Запросы напрямую отправляют и получают данные с сервера, на котором размещена определенная служба, поэтому это быстро.

Но selenium взаимодействует с веб-браузером.

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

Комментарии:

1. На сайте форума, на который я отправляю комментарии, нет API, поэтому тогда я должен продолжить работу с selenium. На самом деле, я просто хотел сократить данные о расходах с помощью selenium, потому что на форумах так много рекламы и визуальных элементов.

2. Я знаю безголовый режим и использовал его раньше. Но я не знал, что это имеет значение для сохранения данных. Я постараюсь рассказать вам о разнице

3. Headless не будет загружать визуальные компоненты. Это ускоряет процесс

4. Я несколько раз использовал безголовый chrome, но не знал об этой функции. Это вдвое сократило сопоставление данных о расходах. Спасибо 🙂

5. В соответствии с рекомендациями сообщества stack overflow комментарии предназначены для уточнения . Чтобы сказать спасибо, вы можете проголосовать за ^ ответ или, если это лучший ответ, принять его, нажав на галочку

Ответ №2:

Selenium позволяет управлять браузером и выполнять действия на веб-странице.

библиотека запросов предназначена для выполнения HTTP-запросов.

Итак, если вы знаете, как написать свою программу для публикации комментариев, используя только HTTP API, тогда я бы пошел с запросами, в этом случае Selenium будет накладными расходами

Комментарии:

1. Во-первых, спасибо за ваш ответ. Как я уже сказал в вопросе, я просто новичок в модуле запросов. Просто знайте логику, как это работает. Чтобы сделать комментарий, на веб-сайте должен быть API? Потому что я видел примеры с REST API. Или у каждого сайта есть API? Насколько я видел на своем веб-сайте, у него нет REST API.

2. Почти все сайты имеют http API, но не обязательно REST API.

3. Вам следует выполнить поиск, если на используемом вами сайте где-то задокументированы API-интерфейсы

4. Не все веб-сайты документируют свои API для общественности, в этом случае Selenium является хорошим обходным путем

Ответ №3:

Если вы хорошо разбираетесь в HTTP-запросах и verb (знаете, как отправить POST-запрос на сервер с requests библиотекой), тогда выбирайте requests . Если вы хотите протестировать свой скрипт, используйте selenium или BeautifulSoup .

Комментарии:

1. Могу ли я отправлять комментарии и входить на форум без API. Потому что на моих веб-сайтах нет API. И нет страницы входа в систему, ее кнопки javascript, насколько я видел в Inspect (F12) chrome

2. Если на веб-сайте есть конечная точка API, да, вы можете использовать requests module. Если нет никаких конечных точек, вам следует использовать selenium