PYTHON 3 — Как очистить веб-сайт, защищенный паролем?

#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 /)

Краткое руководство здесь:

https://medium.com/ymedialabs-innovation/web-scraping-using-beautiful-soup-and-selenium-for-dynamic-page-2f8ad15efe25

Некоторое время назад я попробовал решить аналогичную задачу, и это сработало хорошо

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

1. Спасибо, я изучаю Selenium, и он выглядит довольно здорово. Я могу использовать его для входа на несколько страниц, например, Facebook или Google, потому что у них есть определенные страницы. Проблема с моей рабочей страницей заключается в том, что я не могу проверить всплывающий баннер входа в систему, поэтому не могу получить доступ к идентификаторам HTML…. Я продолжу расследование.