以下代码用于在屏幕上打印html_doc的标签,这是一个包含html代码的变量:
from bs4 import SoupStrainer
only_a_tags = SoupStrainer("a")
print(BeautifulSoup(html_doc, "html.parser", parse_only=only_a_tags).prettify())
以下代码返回相同的结果:
print(BeautifulSoup(html_doc, "html.parser").find_all("a").prettify())
使用SoupStrainer和find_all()函数有什么区别?
我们可以同时使用SoupStrainer和Find_all()吗?
我发现以下内容但无法理解它的作用:
BeautifulSoup(response,parse_only=SoupStrainer("a",href=True)).find_all("a")
答案 0 :(得分:0)
find_all返回一个可迭代的可导航字符串,SoupStrainer解析页面以限制你的某些参数。
迭代页面中的每个锚点,对每个使用find_all的锚点执行一些操作。如果你只想从页面解析除了锚点之外的所有内容你都会使用SoupStrainer。一起使用它们只会使它更有效率。