python BeautifulSoup的用法问题 soup.select('#link1 + .sister')

soup=BeautifulSoup(html)#文档对象
#找兄弟节点标签,就是找他的兄弟出来
print soup.select('#link1 ~ .sister')----找出所有兄弟
print soup.select('#link1 + .sister')

请问大神们,soup.select('#link1 + .sister')-------这个是找什么的呢?找一个返回结果而不是所有么?

#这里的+ ~ 还有link1前面的#好怪异哦。

这个是BeautifulSoup4才有的功能(Select选择CSS标签),在 beautifulsoup3之前没有这个方法。
它是寻找包含有 link1 的标签的兄弟标签。 link1前面的#,表示查找对应的#id
~ 表示所有其他兄弟标签;
+ 表示第一个其他兄弟标签。
Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree)。 它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。它可以大大节省你的编程时间。 对于Ruby,使用Rubyful Soup。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-19
这个是BeautifulSoup4才有的功能(Select选择CSS标签),在 beautifulsoup3之前没有这个方法。
它是寻找包含有 link1 的标签的兄弟标签。 link1前面的#,表示查找对应的#id

~ 表示所有其他兄弟标签;
+ 表示第一个其他兄弟标签。本回答被提问者和网友采纳