Очистить содержимое раздела «Сеть» элемента на странице

Мне нужно очистить страницу, сайт следующий: https://commercialisti.it/iscritti Он только на итальянском языке, но тем не менее это список профессиональных людей, которых я могу найти через «Шапку».

Например, если заполнить шапку значением 37138 и затем нажать «CERCA», отобразится список специалистов с небольшим количеством данных. Я обнаружил, что если я проверю страницу, зайду в сеть, то на элементе LstIscritti?_=1713434471262 появится JSON со всеми необходимыми мне данными. Проблема в том, что я не понимаю, как парсить, зайдя в этот раздел сайта.

Я пробовал с beautifulsoup, но мне удалось очистить только HTML-код главной страницы.

Мой код на данный момент:

from selenium import webdriver
import time
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://commercialisti.it/iscritti')
driver.implicitly_wait(10)

driver.switch_to.frame(driver.find_element(By.XPATH, "(//iframe)[1]"))

casella_testo = driver.find_element("id", "Cap")
casella_testo.send_keys("37138")

pulsante_cerca = driver.find_element("id", 'btnContinua')
pulsante_cerca.click()


time.sleep(5)


res = driver.find_element("id", "listIscritti")

time.sleep(10)

Содержимое res — это очищенная таблица, отображаемая на странице после нажатия кнопки «CERCA», но мне нужны детали, которые находятся в разделе «Сеть».

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
3
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

мне нужно очистить страницу

Я рекомендую использовать запросы вместо селена, поскольку вырезание браузера делает это немного проще.

Похоже, что нажатие этой первой кнопки отправляет запрос, который возвращает некоторые файлы cookie сеанса.
После этого вам будет разрешено сделать второй запрос данных.

import requests
import time

# Request search
r = requests.get("https://ricerca.commercialisti.it/RicercaIscritti",
                 params = {
                     "search": "True",
                     "ente": "00000000-0000-0000-0000-000000000000",
                     "cap": 37138,
                     "sezione": 0
                 })

# Copy session cookies from the request
cookies = r.cookies

# Make a request for the data
r = requests.post("https://ricerca.commercialisti.it/RicercaIscritti/LstIscritti",
                  params = {
                      "_": int(time.time()*1000)
                  },
                  allow_redirects=False,
                  cookies=cookies)

# Parse data in bs4 for later use
data = r.json()

# View data
import json
print(json.dumps(data, indent=4))

И результат выглядит так:

[
{
    "Id": "ee5bb9f7-b3c1-47ae-9bcb-41e27d25177a",
    "Nome": "BARBARA",
    "Cognome": "AGNELLI",
    "Ente": "Verona",
    "Comune": "NEGRAR",
    "UpdateDate": "2024-03-28T16:08:22.883",
    "Archived": false,
    "Radiato": false,
    "TotalRecords": 176,
    "Sezione": 0,
    "ComuneNascita": "VERONA",
    "DataNascita": "09/09/1971",
    "Sospeso": false,
    "Studio": "<i class=\"fa fa-map-marker\"></i> Via Garibba 2 37138 Verona (VR) <i class=\"fa fa-phone\"></i> 045568147 <i class=\"fa fa-fax\"></i> 045565677 <br/>",
    "IdSoggetto": 63936,
    "UrlIscritto": "/RicercaIscritti/Scheda/ee5bb9f7-b3c1-47ae-9bcb-41e27d25177a"
},
...
]

Вы можете использовать консоль разработчика в любом браузере или внешний прокси-сервер веб-отладки, например:
Charles, Burp Suite, mitmproxy и т. д.
Чтобы узнать, как воссоздать запросы, которые делают браузеры.

Другие вопросы по теме