【js】调试代码和查看源代码中的字符串竟然不一样!
本帖最后由 魔幻冰扬 于 2022-4-11 18:09 编辑抓数据的时候发现调试中的字符串和直接打开js显示的字符串不一样。
源网页:https://live.leisu.com/3in1-3655194
调试js截图
https://s3.bmp.ovh/imgs/2022/04/11/4166ae038468819b.png
直接打开当前js后截图
js地址:https://static.leisu.com/public/askaliy/yod-9244bd123ab5.js
https://s3.bmp.ovh/imgs/2022/04/11/703eac68c94cbeb0.png
怎么造成的呢? 已解决
用py直接爬这个js文件时,再header头加了个'accept-encoding': 'gzip, deflate, br', 就没事了。
但还有点疑问的是,用浏览器直接打开这个js文件,请求头也有这个'accept-encoding': 'gzip, deflate, br',但是没效果。
不知道具体是为啥 纳兰容若 发表于 2022-4-11 15:30
多谢楼主分享
我这是遇到问题了。。。 缓存问题 你有一边Ctrl+Shift+R 强制刷新一下就好了
而且你可以看到最开始那行的注释是不一样的 那个是时间戳
他这个JS文件应该是隔一段时间会变化的 跟4楼,这应该是动态JS吧, zhzhch335 发表于 2022-4-11 16:10
缓存问题 你有一边Ctrl+Shift+R 强制刷新一下就好了
而且你可以看到最开始那行的注释是不一样的 那个是时 ...
的确是动态js。
但是这个肯定有防爬机制,如果单独请求,就返回不一样的字符串。
如果用浏览器正常访问,虽然时间戳变,但是那个字符串不变。
就是还没弄明白他是咋判断的。 woaixue 发表于 2022-4-11 16:44
跟4楼,这应该是动态JS吧,
但是他加了防爬机制
单独打开就是有问题,还没弄明白咋判断的。 ##<script type="text/javascript" src="https://static.leisu.com/public/askaliy/yod-9244bd123ab5.js"></script>
不是写到html里了嘛. ? Yh_ 发表于 2022-4-11 17:32
##
不是写到html里了嘛. ?
我是为了抓里面的数据。
单独打开这个js,里面的数据会和在HTML中看到的不一样。 那可能是header 里面有些地方不一样吧= =
页:
[1]
2