我正在使用Python 2.7.5和BeautifulSoup4。
我需要从html标签中剪切文本。
我在命令后输出<a class="username offline popupctrl" href="member.php?20938-NarutoO" title="NarutoO je offline"><strong><font color="#5566CC">NarutoO</font></strong></a>
:
print post_owner[0]
我只需要昵称:NarutoO
并且不想使用get_text()
。
我的代码:
post_owner = soup.findAll(attrs={'class':'username offline popupctrl'})
for row1 in post_owner:
text = ''.join(row1.findAll(text=True))
data1 = text.strip()
text_file.write("USER NAME\n")
member_count = member_count + 1
data1 = data1.encode('utf-8')
text_file.write(str(data1) + '\n')
我在其他帖子中使用了一些解决方案。如果我理解正确,findAll
会给我一份所有匹配的列表。我的代码会连续打印所有匹配项。我只需要post_owner
列表中的访问元素,并使用它们而不使用html标记。一些例子如:
print post_owner[0]
print post_owner[4]
print post_owner[2]
.
.
.
抱歉不好解释,我真的很累:o
答案 0 :(得分:0)
使用soup.select
和get()
[i.get('title') for i in soup.select('.username')]