【发布时间】:2021-06-03 00:41:15
【问题描述】:
我正在学习抓取网站 如何转到下一页直到最后一页并附加数据并保存在csv中
URL = "https://agmarknet.gov.in/SearchCmmMkt.aspx?Tx_Commodity=78&Tx_State=KK&Tx_District=0&Tx_Market=0&DateFrom=01-Jan-2015&DateTo=01-Feb-2021&Fr_Date=01-Jan-2015&To_Date=01-Feb-2021&Tx_Trend=0&Tx_CommodityHead=Tomato&Tx_StateHead=Karnataka&Tx_DistrictHead=--Select--&Tx_MarketHead=--Select--"
tables = pd.read_html(URL,attrs = {'class' : 'tableagmark_new'})
while True:
driver = webdriver.Chrome('C:\\Program Files\\Google\\Chrome\\chromedriver_win32\\chromedriver.exe')
next_page_btn = driver.find_elements_by_xpath("//li[@class = 'pagination-next']/a")
if len(next_page_btn) < 1:
break
else:
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, 'Next'))).click()
我想要 csv 格式的上表链接中的数据。我能够从第一个表中获取数据,但无法自动将其转到下一页并从下一个表中附加数据。
【问题讨论】:
-
为什么需要这个?网站上有一个
Export to Excel按钮,可以将所有数据导出到 50mb 的 excel 文件中 -
好的,我已经发布了一个答案,可以让您在一行代码中将 html 加载到 pandas 中。
标签: python pandas selenium selenium-webdriver web-scraping