我試圖在開始<td>
標記後立即抓住字符串。下面的代碼工作:美麗的湯 - 抓取第一個指定標記後的字符串
webpage = urlopen(i).read()
soup = BeautifulSoup(webpage)
for elem in soup('td', text=re.compile(".\.doc")):
print elem.parent
當HTML看起來像這樣:
<td>plan_49913.doc</td>
但不是當HTML看起來像這樣:
<td>plan_49913.doc<br /> <font color="#990000">Document superseded by:  </font><a href="/plans/Jan_2012.html">January 2012</a></td>
我試着與attrs一起玩,但無法讓它工作。基本上我只想抓住任何一個html實例中的'plan_49913.doc'。
任何意見將不勝感激。
預先感謝您。
〜作者chrisk
謝謝你。這有效......不幸的是,我很難理解「texts =」行中的語法。你會不夠友好地分解它,並像這樣構造它: 'for ... print' – user1117603 2012-01-07 07:25:04
這是一個列表理解。這是一個等價於: 'texts = [];' '節點在bs.findAll('td'):' '如果node.next.endswith('。doc'):' 'texts.append (node.next)' – 2012-01-07 08:40:25