作者nio127 (嗄?!)
看板Python
标题Re: [问题] BeautifulSoup的观念问题?
时间Mon Jul 20 17:35:07 2009
: 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