BeautifulSoup:为什么找不到所有iframe?

时间:2019-05-17 16:08:59

标签: beautifulsoup

我对BeautifulSoup还是陌生的,我试图弄清楚为什么它不能按预期工作。

from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("https://www.globes.co.il/news/article.aspx?did=1001285710")
bsObj = BeautifulSoup(html.read(), features="html.parser")
print(bsObj.find_all('iframe'))

我只有2个iframe的列表。 但是,当我使用浏览器打开此页面并键入:

document.getElementsByTagName("iframe")

在开发工具中,我列出了14个元素。

能帮我吗?

1 个答案:

答案 0 :(得分:1)

这是因为加载页面后,该网站会动态添加更多iframe。此外,iframe内容是由浏览器动态加载的,也不会通过urlopen下载。您可能需要使用Selenium来允许JavaScript加载其他iframe,然后可能需要搜索iframe并通过src url下载内容。