看板 Python 關於我們 聯絡資訊
※ 引述《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://www.ptt.cc/bbs/Python/M.1667551053.A.264.html
Hsins: 不過看起來 xcr_json_inner() 就能解碼成原來的 JSON 了11/04 16:57
lycantrope: 佛心來著w11/04 17:08
surimodo: 1也不是不行 但研究要解碼那串11/04 17:49
surimodo: 真的太麻煩了 他包了好幾層很難解11/04 17:49
surimodo: 最後實際解好像是 enc_dcr_xor 這個函式11/04 17:51
a199111222: https://i.imgur.com/Hzg7sLI.jpg11/04 17:57
包含 windows 物件裡面會帶屬性 例如 webdriver 還有檢測有沒有人為操作 像是我上面文章提到的 檢測有沒有 mousemove 一些大廠還會紀錄過往的操作 是不是太過固定 還有附近 IP 的行為來判斷
cuteSquirrel: 專業推11/04 18:04
Hsins: 大概是連文都懶得看ㄅ11/04 18:29
※ 編輯: Hsins (223.138.237.231 臺灣), 11/04/2022 18:52:53
cloki: 專業推 11/04 19:42
yiche: 哈哈哈哈哈 還幫trace 太好心啦 11/04 19:54
cuteSquirrel: 樓主今天超佛 11/04 20:17
smartree: 感謝 11/05 00:44
chang1248w: 推 11/05 02:22
TakiDog: 哈哈 佛心給推 11/05 06:53
a199111222: 謝謝版主專業的回覆,讓我有方向,雖然我還沒成功... 11/05 09:44
a199111222: 對新手來說有點太難,需要一點時間消化,再次感謝 11/05 10:04
a199111222: 隱藏selenium的webdriver就成功了,感謝版主 11/05 10:52
aidansky0989: 爬蟲就是要動點腦破解 11/05 17:30
KINGWAP: 完全看嘸 只能無腦推 11/05 23:38
cmsisgod: 版上一堆高手@@ 11/06 07:24
hackmoney: 佛心 推一個 11/08 14:28