#python #web-scraping
Вопрос:
Я удаляю значение даты, введенное в поле выбора даты ниже. Я нашел HTM-файл в датапикере. Однако он не показывает значения даты, и мой код Python ничего не возвращает. Я использую неправильный метод?
Ссылка на веб-страницу: https://rate.amcm.gov.mo/en/financial-information/middle-rates
Целевой HTML: <input type="text" class="date-picker" id="display-picker">
Мой код на Python:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from time import sleep
url = 'https://rate.amcm.gov.mo/en/financial-information/middle-rates'
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url)
time.sleep(5)
input_date = driver.find_element_by_id('display-picker')
print(input_date.text)
driver.close()
Комментарии:
1. Да, значение даты (в виде ставок) собирается с помощью запроса post. Затем какой-нибудь js-скрипт заполняет ввод HTML. Посмотрите на F12->Сеть->>XHR и создайте запрос post с пакетом «запросы».
2. Большое спасибо! Я успешно получил данные через XHR. Но дата, которую я получил, похожа на «1629388800». Знаете ли вы, как преобразовать его в обычный формат?
Ответ №1:
Если дата в этом формате — 1629388800
то вы можете преобразовать ее в читаемый формат с помощью datetime
модуля.
from datetime import datetime
x = 1629388800
d = datetime.strftime(datetime.fromtimestamp(x), '%d/%m/%Y')
print(d)
19/08/2021
Комментарии:
1. Спасибо ce.teuf и Ram, проблема решена! Для тех, кому нужна дополнительная информация, вы можете обратиться сюда за дополнительной информацией о том, как получить ответ XHR.