大家好,我正在尝试使用 Beautifulsoup findall 来获取 <div class="div1"> content </div>
和<a class="a1"> link </a>
立刻。
我只是倾向于 beautifulsoup 我知道这个方法如何链接在 soup.find_all("div",{ "class" : "div1" }):
但如何获取具有特定类别的两个不同标签。
我可以做类似的事情
for link in soup.find_all("div",{ "class" : "div1" } and "a",{"class" : "a1"}):
示例 Html
<div class="div1"> content </div>
<div class="div2"> content </div>
<div class="div3"> content </div>
<a class="a1"> link </a>
<a class="a2"> link </a>
<a class="a2"> link </a>
我搜索了很多,但没有找到类似的东西 谢谢
最佳答案
您可以提供 list要搜索的类:
soup.find_all(class_=["div1", "a1"])
而且,您还可以传递要查找的标签列表:
soup.find_all(["a", "div"], class_=["div1", "a1"])
演示:
>>> from bs4 import BeautifulSoup
>>>
>>> data = """
... <div>
... <div class="div1"> content1 </div>
... <div class="div2"> content2 </div>
... <div class="div3"> content3 </div>
...
... <a class="a1"> link1 </a>
... <a class="a2"> link2 </a>
... <a class="a2"> link3 </a>
... </div>
... """
>>>
>>> soup = BeautifulSoup(data)
>>> soup.find_all(class_=["div1", "a1"])
[<div class="div1"> content1 </div>, <a class="a1"> link1 </a>]
>>>
>>> soup.find_all(["a", "div"], class_=["div1", "a1"])
[<div class="div1"> content1 </div>, <a class="a1"> link1 </a>]
关于python - 我想使用 beautifulsoup 搜索具有指定类的 div 和 <a>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26942224/