tarihlere göre python ile kazıma tablosu
bir hafta önce bu siteden bir tablo kazımaya çalışıyorum https://www.bi.go.id/id/moneter/informasi-kurs/transaksi-bi/Default.aspxama ne yazacağım konusunda bir fikrim yok, kafam çok karışık. 2015-2020 (20 Kasım 2015-20 Kasım 2020) kurs işleminin tablosunu kazımaya çalışıyorum,
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)
Yanıtlar
Selenium kullanmanız gerekiyor . Selenium'u kurabilir ve ardından bir sürücü kurabilirsiniz . Chrome kullanıyorum ve yükledikten sonra bu yolu not edin DRIVER_PATHve konumunuzu ayarlayın
Aşağıdaki kodda yaptığım şey temelde gönderdiğiniz bağlantıyı talep etmek ve ardından değiştirebileceğiniz tarihleri giriyorum. Son olarak gönder düğmesine tıklıyorum. Bu, tarih aralığı içinde tabloyu oluşturur. Şimdi, bilgileri tablodan kazımak için takip kodu yazabilirsiniz.
Kod
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()