bs4是否检索整个网页,即使它需要物理滚动才能获得所有元素?

问题描述 投票:1回答:1

我是编码的新手,我正在学习Python,我也很抱歉,如果我在这篇文章中违反任何规则。

我的问题是,如标题中所述,我可以获得bs4来下载整个网页,尽管它需要物理滚动来加载所有元素吗?

我已经发现,我可以用Java做到这一点,但我想把它保留给Python,因为我对编码还很新,并且当时想要专注于一种语言。

有问题的网页就是这个:“https://www.ejendomstorvet.dk/investering/vestjylland/boligudlejning

我在这里上传了一个html代码示例,您可以在其中查看有问题的元素:https://imgur.com/a/Ds0A6CF

我不是在这里要求一个特定的解决方案,只是一些指针,bs4中我应该使用哪些功能,或者,如果我需要通过另一个加载项程序来完成它?

提前致谢!

python beautifulsoup
1个回答
0
投票

BS4仅从输入的URL上传HTML代码。它不会从网站上获取所有页面(但如果你显示URL应该去哪里,它当然可以做到这一点,但这比Python更多的是Python工作)。这也意味着BS4不会从页面中删除JavaScript。因此,如果有任何内容由JavaScript / Ajax加载 - BS4无法处理它。因此,如果您的问题意味着 - 如果BS4可以解析具有大量元素的简单长HTML页面 - 答案是肯定的,但如果您的意思是它可以解析该页面中的可下载元素 - 答案是否定的。

附:如果你需要从任何页面中删除一些JS元素 - 你可以在Scrapy上使用,或者如果你想在任何页面上获得对JS的完全控制,但更复杂 - Selenium

© www.soinside.com 2019 - 2024. All rights reserved.