javascript - 如何检测网页是否从 Python 中的 Javascript 动态呈现?
问题描述
我正在构建一个网络爬虫,它必须从 HTML 中快速检索网页的文本。我正在使用 Python,requests
并且BeautifulSoup
. 我想检测网页内容是纯 HTML 还是从 Javascript 呈现的。在最后一种情况下,我只会返回一条错误消息,说明无法完成。
我知道无头浏览器可以渲染 Javascript,但在这种情况下,我真的只需要以最快的方式检测它,而不必渲染它。
检测标签实际上是不可能的,script
因为每个网页中都有很多标签,这并不意味着文本内容必须以 Javascript 呈现。
有什么我可以检查的 HTML 准确地告诉我正文内容将从 Javascript 呈现吗?
谢谢
解决方案
初始 DOM 中没有任何内容事先显示该站点是使用 js 呈现的。这些是您可以尝试的一些东西:
- 分析几个网站,根据页面的内容大小,猜测网站在哪里用js渲染。
- 您还可以获取站点不同页面的 html 并比较内容长度(对于 js 渲染的站点,在执行任何代码之前,不同页面的内容可能相同/相似)。
- 检查脚本的内容大小或检测 React、vue 和 Angular 等著名技术的脚本名称
推荐阅读
- regex - Notepad++ 中的正则表达式获取资源键
- javascript - 使用 Ant Design UI 库禁用标签
- system-verilog - 在施加力之前分离 SystemVerilog 网络
- sql - 联合不同的表
- python - Pandas Dataframe Transformation,寻找优雅的解决方案
- php - ImageMagick / GraphicsMagick / libvips 图像随机损坏
- python - 使用类方法时如何处理映射代理?
- sql - 是否有从 datebegin 和 dateend 两列中选择特定日期的任何 sql 查询
- flutter - Flutter TextField 提示文本不居中对齐
- flutter - 如何从子小部件更新父小部件的状态并将其反映在子小部件中?