Проблема, с которой вы столкнулись, является распространенной проблемой в веб-очистке.
На веб-странице https://pub.fsa.gov.ru/ral/view/8/applicant
загружается файл javascript с https://pub.fsa.gov.ru/main.73d6a501bd7bda31d5ec.js,, этот файл отвечает за динамическую загрузку содержимого.
Корень проблемы в том, что urllib3, запросы или любой другой http-клиент в python не отображает javascript внутри этой веб-страницы. Таким образом, у вас есть только первоначальный ответ, предоставленный вам сервером, который во многих случаях не содержит необходимой вам информации.
Решение было бы использовать селен . Это позволит вам взаимодействовать с браузером, таким как chrome или firefox программно, эти браузеры фактически отображают результаты.
Вы не указали информацию, которую вы пытаетесь удалить с этого сайта, я рекомендую использовать явное ожидание, пока элемент, который вы хотите найти, присутствует в DOM. Вы можете найти больше информации об ожиданиях в селене здесь .
Пример использования
Вам следует адаптировать этот код для очистки данных, которые вы хотите очистить.
# Imports
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
# Constants
URL = 'https://pub.fsa.gov.ru/ral/view/8/applicant'
ELEMENT_XPATH = '/html/body/fgis-root/div/fgis-ral/fgis-card-view/div/div/fgis-view-applicant/fgis-card-block/div/div[2]'
def main():
options = Options()
options.headless = True
driver = webdriver.Chrome(options=options)
driver.get(URL)
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, ELEMENT_XPATH))
)
print(element.text)
except TimeoutException:
print("Could not find the desired element")
finally:
driver.quit()
if __name__ == '__main__':
main()