तारीखों के आधार पर अजगर के साथ स्क्रैपिंग टेबल
एक हफ्ते पहले से मैं इस साइट से एक तालिका को खंगालने की कोशिश कर रहा हूं https://www.bi.go.id/id/moneter/informasi-kurs/transaksi-bi/Default.aspxलेकिन मुझे नहीं पता कि क्या लिखना है, मैं बहुत उलझन में हूं। iam 2015-2020 (20 nov 2015-20 nov 2020) से kurs लेन-देन की तालिका को परिमार्जन करने की कोशिश कर रहा है,

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)
जवाब
आपको सेलेनियम का उपयोग करने की आवश्यकता है । आप सेलेनियम स्थापित कर सकते हैं और फिर आप एक ड्राइवर स्थापित कर सकते हैं । मैं क्रोम का उपयोग करता हूं और फिर एक बार जब आप इसे स्थापित करते हैं तो उस रास्ते पर ध्यान दें और अपना DRIVER_PATH
स्थान निर्धारित करें
नीचे दिए गए कोड में मैं मूल रूप से आपके द्वारा पोस्ट किए गए लिंक का अनुरोध करता हूं और फिर मैं उन तिथियों को दर्ज करता हूं जिन्हें आप बदल सकते हैं। अंत में मैं सबमिट बटन पर क्लिक करता हूं। वह तिथि सीमा के भीतर तालिका बनाता है। अब आप तालिका से जानकारी को परिमार्जन करने के लिए अनुवर्ती कोड लिख सकते हैं।
कोड
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()