Re: [問題] BeautifulSoup的觀念問題?
: 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
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章