dra*_*mnl 0 python beautifulsoup python-3.x
我有两个
bs4.element.ResultSet
Run Code Online (Sandbox Code Playgroud)
对象.
我们打电话给他们吧
rs1
rs2
Run Code Online (Sandbox Code Playgroud)
我想要一个结果集(让我们称之为rs)以及结果集中的所有结果.
我还需要弄明白:
一个bs4.element.ResultSet对象是一个直线上升的子类list.您可以使用ResultSet.extend()扩展一个或另一个结果集:
rs1.extend(rs2)
Run Code Online (Sandbox Code Playgroud)
或者简单地连接两个结果集:
newlist = rs1 + rs2
Run Code Online (Sandbox Code Playgroud)
后者list使用两个结果集的内容创建一个对象,这意味着您将丢失该.source属性.不是很大的损失,真的,看到BeautifulSoup本身没有使用该属性.
有一些方法可以创建一个开始的结果集,而不是连接这两个结果集.可以找到结果类型的搜索将导致结果以文档源顺序返回,而不是背靠背返回.您可以使用该find_all()方法的列表参数,例如:
soup.find_all(['a', 'link'], href=True)
Run Code Online (Sandbox Code Playgroud)
例如,会找到具有属性的所有元素a和link元素href.