красивый суп против selenium против urllib

#python #beautifulsoup #urllib3 #python-requests-html

#python #beautifulsoup #urllib3 #python-запросы-html

Вопрос:

Я работаю над проектом веб-автоматизации. Мне нужно иметь возможность извлекать страницы, оценивать данные и взаимодействовать со страницей (например, входить в систему, вводить значения и публиковать на сайте.) В качестве производной от логинов, я думаю, мне понадобится что-то, что позволит мне оставаться в системе с учетом учетных данных (например, сохранить учетные данные или файлы cookie).)

Я уже использовал библиотеки UrlLib amp; Requests для извлечения файлов и самих страниц.

Я пытаюсь выбрать лучшую библиотеку Python для этой задачи.

Любые предложения будут высоко оценены.

Спасибо!

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

1. этот вопрос может быть отклонен, поскольку он является своего рода открытым / основанным на мнениях. Но, по сути, лучшая библиотека для использования зависит от ваших потребностей. Если вы можете надежно воссоздать HTTP-запросы, используемые для аутентификации логинов, и скорость важна, urllib / requests для выполнения этих HTTP-запросов и beautifulsoup для разбора HTML-ответов были бы лучшими. В противном случае вам больше всего повезет в Selenium. Дайте мне знать, если вам нужны более подробные сведения.

2. @n1c9: когда вы говорите: «Если вы можете надежно воссоздать HTTP-запросы, используемые для аутентификации логинов», вы имеете в виду, как url mail.yahoo.com (и затем войдите в систему) или с помощью cookie (/auth), уже встроенного в URL-запрос?

3. URL. По сути, для входа в систему потребуется использовать либо запросы A. Объект Session() (для поддержания одного и того же сеанса, файлов cookie и т.д. По ряду HTTP-запросов) Или используйте Selenium для достижения того же результата. Если вы не очень разбираетесь в HTTP-аутентификации, то скорость не является большой проблемой (т. Е. вы не выиграете от повышения скорости на 500 миллисекунд) Я бы рекомендовал Selenium, поскольку он обрабатывает многое из этого за вас.

4. Спасибо, чувак. Так же ли просто использовать его как urllib? Является ли установка сложной?

5. Установка должна быть простой pip install selenium — сложно действительно сравнивать ее с urllib справедливо, потому что они выполняют разные функции, но, по моему опыту, она довольно удобна для пользователя, где urllib немного более без излишеств.

Ответ №1:

@n1c9

Если вы можете надежно воссоздать HTTP-запросы, используемые для аутентификации логинов, и скорость важна, urllib / requests для выполнения этих HTTP-запросов и beautifulsoup для разбора HTML-ответов были бы лучшими. В противном случае вам больше всего повезет в Selenium. Дайте мне знать, если вам нужны более подробные сведения.

Похоже, Selenium — правильный ответ.