#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