Re: [問題] BeautifulSoup的觀念問題?

看板Python作者 (嗄?!)時間16年前 (2009/07/20 17:35), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
: Q1: : print table.tr.nextSibling.previous.string ==> 結果出現 "選我" : 這個符合我的預期,但用這樣子覺得很遜,是找不到方法下才用的 如果你只是要取出第一個<p>的文字,可以用: soup.p.string 如果要列舉出兩個文字元素,試試這個: for i in soup(text=re.compile('[^\s]')): print i.string.strip() : Q2: : print table.tr.td.nextSibling.name ==>結果出現 'NavigableString' object has no attribute 'name' : 原本我是這樣子使用,但結果跟我預期完全不同,為什麼這個無法選到呢? : 疑惑? NavigableString不是應該是標籤內text的部份嗎? 因為你選到的是 '\n' 你可以試試 print table.tr.td.nextSibling.__class__ 看看你選到的是什麼 : Q3: : print table.tr.contents[3].p.string ==> 結果出現 "選我" : 我原本預期應該是 table.tr.contents[1].p.string , 為什麼又與我預期的不同? 同上,因為你忽略了換行符號,也算進去就正確了。 : 以上問題,百思不解 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.125.160.201
文章代碼(AID): #1AP3fCbY (Python)
文章代碼(AID): #1AP3fCbY (Python)