mengikis tabel dengan python berdasarkan tanggal

Nov 28 2020

sejak seminggu yang lalu saya telah mencoba untuk mengikis tabel dari situs ini https://www.bi.go.id/id/moneter/informasi-kurs/transaksi-bi/Default.aspxtetapi saya tidak tahu harus menulis apa, saya sangat bingung. Saya mencoba mengorek tabel kurs transaksi 2015-2020 (20 nov 2015-20 nov 2020,

tapi yang jadi masalah adalah link antara tanggal default dan tanggal yang saya pilih masih sama. tolong bantu saya dengan cara apapun, Terima kasih kamu sebelumnya !

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)

Jawaban

1 gosalia Nov 29 2020 at 15:29

Anda perlu menggunakan Selenium . Anda dapat menginstal Selenium dan kemudian Anda dapat menginstal driver . Saya menggunakan chrome dan kemudian setelah Anda menginstalnya, catat jalur itu dan setel DRIVER_PATHke lokasi

Dalam kode di bawah ini yang saya lakukan pada dasarnya adalah meminta tautan yang Anda posting dan kemudian saya memasukkan tanggal yang dapat Anda ubah. Akhirnya saya mengklik tombol kirim. Itu menghasilkan tabel dalam rentang tanggal. Sekarang Anda dapat menulis kode tindak lanjut untuk mengikis informasi dari tabel.

Kode

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()