Очистка с помощью BeautifulSoup, но сначала нужно ввести значения?

#python #web-scraping #beautifulsoup #python-requests

#python #очистка веб-страниц #beautifulsoup #python-запросы

Вопрос:

Я новичок в веб-очистке и не очень знаком с запросами и BeautifulSoup.

Я пытаюсь очистить веб-сайт aspx с помощью BeautifulSoup. Но чтобы получить значения, которые я хочу очистить, мне сначала нужно выбрать выпадающее значение, ввести идентификатор, а затем нажать отправить.

Возможно ли это вообще?

Любая помощь была бы очень признательна!

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

1. Selenium был бы лучше для вашего варианта использования

2. Можете ли вы поделиться URL-адресом и значениями, которые вы хотите отправить?

Ответ №1:

Возможно, попробуйте ввести URL-адрес, который вы получите после того, как сделаете все выборки из выпадающих списков. В противном случае .. лучше всего использовать Selenium.

Ответ №2:

Как уже упоминалось selenium , это мощный инструмент при работе с веб-сайтами такого рода, но это не единственное решение вашей проблемы.

Исходя из информации, которую вы предоставили в своем вопросе, я предполагаю, что на рассматриваемой странице представлена форма, вы заполняете ее, выбирая желаемые значения в выпадающем списке, а затем нажимая submit кнопку.

Если это так, то в процессе задействован POST запрос (более подробная информация здесь). Вы можете легко проверить данные запросов, а затем воспроизвести их с помощью python .

Руководство пользователя Chrome:

  • Нажмите F12 на соответствующей странице. Должна появиться консоль разработчика.

  • Перейдите на network вкладку и нажмите CTRL R введите описание изображения здесь

  • Установите флажки Preserve Log и Disable Cache в верхнем левом углу введите описание изображения здесь

  • Заполните данные формы необходимой информацией и нажмите submit кнопку.

  • Проверьте Doc или Other вкладки для POST запроса введите описание изображения здесь

  • Прокрутите окно запроса вниз, пока не найдете Form Data разделвведите описание изображения здесь

  • Это данные, которые вам нужно реплицировать. Скорее всего, среди них выбранное выпадающее значение.

  • Теперь python часть

 import requests

url = 'https://formsmarts.com/html-form-example'  # extract the URL from the <form> tag
data = {
   'u_omM_4607': 'John',
   'u_omM_338354': 'Doe',
   'u_omM_4608': 'john.doe@email.com',
   'u_omM_338367': 'Support Inquiry',   # this was from a dropdown
   'u_omM_4609': 'No comments'
}

r = requests.post(url, data=data)    # send a POST request with the completed data
print(r.text)                        # r.text is the HTML information of the response which can be scraped at your own will

  

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