使用美丽汤找不到超过某个点的孩子



我目前正在尝试解析以下网页上的不同配置:

https://nvd.nist.gov/vuln/detail/CVE-2020-3661

具体来说,我正在寻找 ID 匹配的"config-div-\d+"的"div"标签中的数据

我尝试运行以下内容:

parsed = BeautifulSoup(requests.get('https://nvd.nist.gov/vuln/detail/CVE-2020-3661').content, 'html5lib')
configs = parsed.findAll('div', {'id' : re.compile('config-div-d+')})

但是,配置将始终产生 None。我已经尝试了 BeautifulSoup 文档页面上列出的所有解析器,它们都产生了相同的结果。

所以我尝试只找到父节点(div id="vulnCpeTree"(,并通过手动从正文向下钻取来确保我有正确的父节点。

parent = parsed.find('div', {'id' : 'vulnCpeTree'})
parent.findChildren()
[]

所有解析器可以解析的深度是否有限制?有没有办法改变这个/解决这个问题?还是我错过了什么?

感谢您的帮助!

@Sushanth和@Scratch'N'Purr都为这个问题提供了很好的答案。 @Sushanth提供了您在尝试了解漏洞时应该使用的方法,@Scratch'N'Purr 解释了如果我真的想走网络抓取路线,为什么我在原始问题中遇到这些问题。

谢谢你们。

最新更新