魔幻冰扬 发表于 2022-4-11 15:27

【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



怎么造成的呢?

魔幻冰扬 发表于 2022-4-11 18:08

已解决

用py直接爬这个js文件时,再header头加了个'accept-encoding': 'gzip, deflate, br', 就没事了。

但还有点疑问的是,用浏览器直接打开这个js文件,请求头也有这个'accept-encoding': 'gzip, deflate, br',但是没效果。
不知道具体是为啥

魔幻冰扬 发表于 2022-4-11 15:36

纳兰容若 发表于 2022-4-11 15:30
多谢楼主分享

我这是遇到问题了。。。

zhzhch335 发表于 2022-4-11 16:10

缓存问题 你有一边Ctrl+Shift+R 强制刷新一下就好了
而且你可以看到最开始那行的注释是不一样的 那个是时间戳
他这个JS文件应该是隔一段时间会变化的

woaixue 发表于 2022-4-11 16:44

跟4楼,这应该是动态JS吧,

魔幻冰扬 发表于 2022-4-11 17:08

zhzhch335 发表于 2022-4-11 16:10
缓存问题 你有一边Ctrl+Shift+R 强制刷新一下就好了
而且你可以看到最开始那行的注释是不一样的 那个是时 ...

的确是动态js。

但是这个肯定有防爬机制,如果单独请求,就返回不一样的字符串。
如果用浏览器正常访问,虽然时间戳变,但是那个字符串不变。

就是还没弄明白他是咋判断的。

魔幻冰扬 发表于 2022-4-11 17:16

woaixue 发表于 2022-4-11 16:44
跟4楼,这应该是动态JS吧,

但是他加了防爬机制

单独打开就是有问题,还没弄明白咋判断的。

Yh_ 发表于 2022-4-11 17:32

##<script type="text/javascript" src="https://static.leisu.com/public/askaliy/yod-9244bd123ab5.js"></script>
不是写到html里了嘛. ?

魔幻冰扬 发表于 2022-4-11 17:46

Yh_ 发表于 2022-4-11 17:32
##
不是写到html里了嘛. ?

我是为了抓里面的数据。
单独打开这个js,里面的数据会和在HTML中看到的不一样。

Yh_ 发表于 2022-4-13 14:19

那可能是header 里面有些地方不一样吧= =
页: [1] 2
查看完整版本: 【js】调试代码和查看源代码中的字符串竟然不一样!