当前位置:  开发笔记 > 编程语言 > 正文

复杂美丽的汤查询

如何解决《复杂美丽的汤查询》经验,为你挑选了1个好方法。

这是我正在使用Beautiful Soup探索的HTML文件的片段.


    Site 

我想得到任何有哪个和哪个在里面的行.

是否可以使用Beautiful Soup查询HTML文件中的多个条件?



1> Jarret Hardi..:

BeautifulSoup的搜索机制接受一个可调用的文档,文档似乎为您的案例推荐:"如果您需要对标记的属性强加复杂或互锁限制,请传入一个可调用对象的名称,......".(好吧......他们专门讨论属性,但这些建议反映了BeautifulSoup API的基本精神).

如果你想要一个单行:

soup.findAll(lambda tag: tag.name == 'a' and \
tag.findParent('strong', 'sans') and \
tag.findParent('strong', 'sans').findParent('td', attrs={'width':'50%'}))

我在这个例子中使用了lambda,但实际上你可能想要定义一个可调用的函数,如果你有多个链式的需求,因为这个lambda必须进行两次findParent('strong', 'sans')调用,以避免在标签没有strong父项时引发异常.使用适当的功能,您可以提高测试效率.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有