[問題] read_html合併多頁表格

看板Python作者 (vincent)時間5年前 (2020/06/08 13:55), 5年前編輯推噓2(200)
留言2則, 2人參與, 5年前最新討論串1/1
自學python練習中,請教各位前輩 練習:selenium 抓取多頁表格合併,模擬點選下一頁後抓取table表格並且合併 問題:如何抓取每一頁table並且合併成一個csv? 此code只會有第一頁的表格有成功匯出在csv selenium模擬下一頁都有跑完,但卻沒有在concat合併進去 看完一輪stackoverflaw,比較類似此解法 https://reurl.cc/oL4Qnv https://reurl.cc/yZ4MzE 但到底要先Append最後在concat? 還是可以直接concat? 兩種我目前都失敗QQ 謝謝大家 ----code---- df_list = [] page_num = 1 page_remaining = True while page_remaining == True: suop = BeautfulSoup(driver.page_source, 'lxml') table = soup.select_one('#seld') df_list = pd.read_html(str(table)) df = pd.concat(df_list) try: next_page = driver.find_element_by_partial_link_text('下一頁') next_page.click() sleep(3) if page_num < 2: #試跑兩頁 page_num += 1 else: page_remaining = False except NoSuchElementException: break df.to_csv(r'路徑',encoding='utf-8') driver.quit() -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.166.145 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1591595754.A.5F3.html

06/08 18:12, 5年前 , 1F
concat 拉到最外面 df_list append就好
06/08 18:12, 1F

06/08 19:37, 5年前 , 2F
df = pd.concat([df,df_list]) 這樣呢?
06/08 19:37, 2F
謝謝兩位回覆,後來都沒成功,因此把 while 改成 for i range去跑每頁 然後表格部分後來找到有解如下 先把表格concat 然後再append 最後匯出成csv前 在concat一次.... 這樣才會成功@@ ※ 編輯: vincent6330 (223.137.166.145 臺灣), 06/09/2020 16:34:56
文章代碼(AID): #1UtTBgNp (Python)
文章代碼(AID): #1UtTBgNp (Python)