作者Hsins (迅雷不及掩耳盗铃)
看板Python
标题Re: [问题] python 爬虫得到加密的资料
时间Fri Nov 4 16:37:31 2022
※ 引述《a199111222 (oyeh)》之铭言:
: 先附上想爬的网页
: https://marketchameleon.com/Overview/AAPL/Similar/
: 想要爬取表格的全部资料
: 以前用post 抓下来的格式是json
: 现在是一串乱码
: 请问这样还有办法爬吗?
要爬是能爬,但就看你要花多少时间跟成
本去处理他而已。
: 我用selenium去开这个网址,连表格内资料也不显示......
: 有大大能提供解决的方向吗?谢谢
透过开发者工具可以发现,这些资料是打
POST 请求到对方的 IIS 伺服器拿到编码
过後的资料,这个我想你应该已经取得。
如果你尝试去检查他拿到这份资料在干嘛
,会发现这个 AJAX 操作在成功取得资料
後会呼叫以下这个函数:
https://i.imgur.com/04uNmaA.png
----
顺着这个函数找:
https://i.imgur.com/wms242A.png
https://i.imgur.com/dfz4jJh.png
在进行解析之前,他会检查两件事来判断
你今天是爬虫程式还是真人:
(1) user_agent 是不是特殊的
(2) 有没有人为操作的事件被记录下来
其中 (2) 的判断方式是在页面上有没有
滑鼠移动操作(mousemove)
----
最後才是解码并且将资料放入表格中:
https://i.imgur.com/2Z5fcs8.png
----
处理方式很多:
(1) 去把他的函数搞出来,自己执行
(2) 模拟一下人为操作,让浏览器操作完
DOM 渲染完之後再去爬渲染好的内容
如果我是你,我会选择 (2) 这种方式,
反正你都已经用了 Selenium 去处理了,
省时省力。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.138.237.231 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1667551053.A.264.html
1F:→ Hsins: 不过看起来 xcr_json_inner() 就能解码成原来的 JSON 了11/04 16:57
2F:推 lycantrope: 佛心来着w11/04 17:08
3F:→ surimodo: 1也不是不行 但研究要解码那串11/04 17:49
4F:→ surimodo: 真的太麻烦了 他包了好几层很难解11/04 17:49
5F:→ surimodo: 最後实际解好像是 enc_dcr_xor 这个函式11/04 17:51
包含 windows 物件里面会带属性
例如 webdriver 还有检测有没有人为操作
像是我上面文章提到的
检测有没有 mousemove
一些大厂还会纪录过往的操作
是不是太过固定
还有附近 IP 的行为来判断
7F:推 cuteSquirrel: 专业推11/04 18:04
8F:→ Hsins: 大概是连文都懒得看ㄅ11/04 18:29
※ 编辑: Hsins (223.138.237.231 台湾), 11/04/2022 18:52:53
9F:推 cloki: 专业推 11/04 19:42
10F:推 yiche: 哈哈哈哈哈 还帮trace 太好心啦 11/04 19:54
11F:推 cuteSquirrel: 楼主今天超佛 11/04 20:17
12F:推 smartree: 感谢 11/05 00:44
13F:推 chang1248w: 推 11/05 02:22
14F:推 TakiDog: 哈哈 佛心给推 11/05 06:53
15F:推 a199111222: 谢谢版主专业的回覆,让我有方向,虽然我还没成功... 11/05 09:44
16F:推 a199111222: 对新手来说有点太难,需要一点时间消化,再次感谢 11/05 10:04
17F:推 a199111222: 隐藏selenium的webdriver就成功了,感谢版主 11/05 10:52
18F:推 aidansky0989: 爬虫就是要动点脑破解 11/05 17:30
19F:推 KINGWAP: 完全看呒 只能无脑推 11/05 23:38
20F:推 cmsisgod: 版上一堆高手@@ 11/06 07:24
21F:→ hackmoney: 佛心 推一个 11/08 14:28