#python #web-scraping
#python #очистка веб-страниц
Вопрос:
Я пытаюсь получить доступ к веб-сайту в своей работе, однако он защищен именем пользователя / паролем. Всплывающее окно user / pw также выглядит как на картинке.Изображение входа Я прикрепляю свой код для просмотра веб-сайта. Я вижу HTML-код, однако с ошибкой «Требуется авторизация 401». Не могли бы вы помочь?
import requests
from bs4 import BeautifulSoup as bs
r = requests.get("http://10.75.19.101/mfgindex", auth=('root', 'password'))
# Convert to beautiful soup object
soup = bs(r.content, features="html.parser")
# print
print(soup.prettify())
Комментарии:
1. Возвращает ли ресурс заголовок WWW-Authenticate ? (Посмотрите на
r.headers
.)2. print(r.headers) возвращает следующее «{‘Date’: ‘Ср, 28 Окт 2020 13:59:06 GMT’, ‘Server’: ‘Apache / 2.2.9 (Unix) mod_ssl / 2.2.9 OpenSSL / 0.9.7e’, ‘WWW-Authenticate’: ‘Basic realm=»Доступ к веб-странице «‘, ‘Vary’: ‘Accept-Encoding’, ‘Content-Encoding’: ‘gzip’, ‘Content-Length’: ‘358’, ‘Keep-Alive’: ‘timeout = 15, max = 100’, ‘Connection’: ‘Keep-Alive’, ‘Content-Type’: ‘text / html; charset =iso-8859-1’}»
3. В этом случае все должно работать, если ваш
auth
правильный…4. Аааа… да, теперь все работает нормально… Я думаю, у меня была неправильная аутентификация в … спасибо за вашу помощь!
Ответ №1:
Как правило, если сайт защищен паролем, вы, очевидно, не можете обойти процедуру входа в систему. Это вынуждает вас использовать процесс RPA, в котором ваш код управляет веб-браузером и выполняет действие входа, используя реальный логин и pwd, с последующим автоматическим просмотром нужных вам страниц и извлечением требуемых элементов из HTML с помощью BeautifulSoup.
Для этого я предлагаю попробовать Selenium (https://www.selenium.dev /)
Краткое руководство здесь:
Некоторое время назад я попробовал решить аналогичную задачу, и это сработало хорошо
Комментарии:
1. Спасибо, я изучаю Selenium, и он выглядит довольно здорово. Я могу использовать его для входа на несколько страниц, например, Facebook или Google, потому что у них есть определенные страницы. Проблема с моей рабочей страницей заключается в том, что я не могу проверить всплывающий баннер входа в систему, поэтому не могу получить доступ к идентификаторам HTML…. Я продолжу расследование.