table de grattage avec python en fonction des dates
depuis une semaine, j'essaye de gratter une table de ce site https://www.bi.go.id/id/moneter/informasi-kurs/transaksi-bi/Default.aspxmais je ne sais pas quoi écrire, je suis très confus.

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)
Réponses
Vous devez utiliser Selenium . Vous pouvez installer Selenium, puis vous pouvez installer un pilote . J'utilise chrome, puis une fois que vous l'installez, notez ce chemin et définissez votre DRIVER_PATH
emplacement
Dans le code ci-dessous, je demande essentiellement le lien que vous avez posté, puis j'entre les dates que vous pouvez modifier. Enfin, je clique sur le bouton Soumettre. Cela génère la table dans la plage de dates. Vous pouvez maintenant écrire du code de suivi pour extraire les informations du tableau.
Code
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()