我誤解了,實際跑下去應該是網頁中 tag 判斷有問題把 'lxml' parser 換成 'html.parser' 會好一點但是 DOM 的結構感覺還是和預想的有差距print(sp.find_all('table')[1]) 看一下尾端內容原本的 parser 爬得並不完整程式碼中的 sp 就已經沒抓到 "淨利(損)歸屬於:"後的所有 <tr> tag 所以你在抓的時候抓不到可能 bs 本身有問題,直接拿 lxml.etree 來做是可以的
https://goo.gl/fGJCYt 這是改寫過的版本