Zichenya 发表于 2022-7-11 15:20:37

麻烦大佬解答!

网站禁止F12 禁止打开控制台,禁止右键鼠标
我用python直接爬取了首页源码,然后删除了JavaScript的部分代码
但是网页还是会有限制,而且布局和样式全没了
然后我听大佬的建议,直接在浏览器禁止javascript,然后就没有限制了,也不会出现上面的情况
想问下,这是什么原因?浏览器禁止JavaScript的原理或者本质是什么?为什么禁止了,布局和样式都在?

wp231957 发表于 2022-7-11 15:22:27

布局和样式在css管辖的范围内,和js 几乎没关系   

dolly_yos2 发表于 2022-7-11 19:05:17

“爬取并删除了 JavaScript 的部分代码 但是网页还是会有限制”,合理的怀疑您并没有把 JavaScript 部分的代码完全清除干净,因此页面仍然有限制(限制部分的代码没被删除)。(其实也有可能您打开的还有限制的网页不是您删除 JavaScript 后得到的网页)
禁止 JavaScript 的原理我不太确定,可能是完全不加载 JavaScript 代码、完全不解释执行任何 JavaScript 代码。这可以保证当前打开的页面上没有任何 JavaScript 代码被执行,因此任何基于 JavaScript 实现的功能(比如限制开发者工具)都无法运行。同时这也保证当前页面上的全部 JavaScript 代码都被屏蔽(对应上述的两个猜测)。
关于布局和样式,这需要您更多的了解前端典型三件套, HTML + CSS + JavaScript 各自的功能职责。简单的讲, HTML 负责描述页面上都有什么,也就是有哪些元素,他们彼此之间的层级关系是怎么样的; CSS 负责描述页面上的特定元素的样式是什么样的,比如是什么颜色,位置在哪,有多大,按什么方向排列等等; JavaScript 更多的负责动态的内容,如请求的发送和处理,动态的增删改页面元素,调整样式等等。当然也有例外,例如表单可以不通过 JavaScript 代码就提交信息到服务器, CSS 中也在逐渐包含更多的动态效果如动画等。如此可见,尽管有些情况下页面的样式通过 JavaScript 进行设定,但是在相当多数量的页面上,原始的、基础的布局和样式是通过 CSS 进行描述的,禁用 JavaScript 不会对此产生影响。

不二如是 发表于 2022-12-27 13:13:32

你爬取到的“源码”,只是服务器给你的数据,为了让网页能在你的电脑上显示。

所以修改与否,并不影响服务器端的分发。刷新一下,网页样式还会回来。
页: [1]
查看完整版本: 麻烦大佬解答!