tabla de raspado con python basada en fechas
desde hace una semana he estado tratando de raspar una tabla de este sitio https://www.bi.go.id/id/moneter/informasi-kurs/transaksi-bi/Default.aspxpero no tengo ni idea de qué escribir, estoy muy confundido. Estoy tratando de raspar la tabla de transacciones de kurs de 2015-2020 (20 de noviembre de 2015-20 de noviembre de 2020,

import requests
from bs4 import BeautifulSoup
import pandas as pd
headers={
"User-Agent":"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36",
"X-Requested-With":"XMLHttpRequest"
}
url = "https://www.bi.go.id/id/moneter/informasi-kurs/transaksi-bi/Default.aspx"
import requests
from lxml import html
response = requests.get(url)
content= response.content
print(content)
Respuestas
Necesitas usar selenio . Puede instalar Selenium y luego puede instalar un controlador . Utilizo Chrome y luego, una vez que lo instales, anote esa ruta y establezca su DRIVER_PATH
ubicación en
En el código a continuación, lo que hago es básicamente solicitar el enlace que publicó y luego ingresar las fechas que puede cambiar. Finalmente hago clic en el botón de enviar. Eso genera la tabla dentro del rango de fechas. Ahora puede escribir un código de seguimiento para extraer la información de la tabla.
Código
import requests
from selenium import webdriver
DRIVER_PATH = 'Yourpath/chromedriver'
driver = webdriver.Chrome(executable_path=DRIVER_PATH)
driver.get('https://www.bi.go.id/id/moneter/informasi-kurs/transaksi-bi/Default.aspx')
start_date = driver.find_element_by_id("ctl00_PlaceHolderMain_biWebKursTransaksiBI_txtFrom")
start_date.send_keys("15-Nov-20")
end_date = driver.find_element_by_id("ctl00_PlaceHolderMain_biWebKursTransaksiBI_txtTo")
end_date.send_keys("20-Nov-20")
submit_button = driver.find_element_by_id("ctl00_PlaceHolderMain_biWebKursTransaksiBI_btnSearch1").click()