是否可以从
获取字符串<td class="text">
,但是从标记
导航<a name="rknjiga">
因为它用于定位页面的特定部分。我试过用
soup.find("a", {"name": "aknjiga"}).parent
但这只能让我升级1级,我的想法是到达第一个 tr 标签,再一次升级层次结构,然后使用.next_sibling将指针放到下一个 tr 标记
<tr>
<td bgcolor="#CDC5A1"> </td>
<td colspan="2" bgcolor="#CDC5A1" class="bbrownnaslov1">
<a name="rknjiga">Poglavlja u knjizi</a> #name rknjiga is used to find section
</td>
</tr>
<tr>
<td height="92" valign="top">
<table width="100%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td class="text">
<br/>1. Dražić, Ivan; Mujaković, Nermina.<br/>
</td>
</tr>
<tr>
<td class="text" align="right" valign="bottom">
<a href="#top"></a>
</td>
</tr>
<tr>
<td class="text" align="right" valign="bottom">
<img src="images/spacer.gif" width="1" height="1">
</td>
</tr>
</table>
</td>
</tr>
输出需要以格式:
写入txt文件我第一次使用beautifulsoup所以欢迎任何建议!
答案 0 :(得分:0)
section = soup.find('a', attrs={'name':"rknjiga"})
section.find_next('td',class_="text").get_text(strip=True)
出:
'1. Dražić, Ivan; Mujaković, Nermina.'
或获取所有td:
section.find_all_next('td',class_="text")
签名:find_all_next(名称,attrs,字符串,限制,** kwargs)
签名:find_next(name,attrs,string,** kwargs)
这些方法使用.next_elements来迭代任何标签和 文档中的字符串。 find_all_next()方法 返回所有匹配项,find_next()仅返回第一个匹配项