Re: 請益Request爬蟲
追了一天動漫來回點東西,
轉生公主天才千金好香,槍神畫面好屌
遇到問題時除了試著使用其它工具或做法,
還能做的 - 或許也是應該先做的 - 是瞭解問題。
或許你是後端工程師,對前端不熟,那看看你們公司有沒有前端工程師可以問,
不然試著到前端社群上請益看看。
要爬 https://www.hktvmall.com/hktv/zh 這樣一個網站需要注意什麼?
怎麼爬比較快?
或許有人看了看可以提供一些回饋,
例如有防 csrf 機制,token 就寫在頁面上一個隱藏的 input 裡,
https://en.wikipedia.org/wiki/Cross-site_request_forgery
會直接跟頁面 html 一起吐回來
後端用的應該是 JAVA,所以 cookie 有個 JSESSIONID,
不過因為它的設定是 http only 無法以 JS 取得
另外本身就神慢,不論是頁面或 API 經常需要 10~30 秒
瞭解了問題之後,或許解法就不會是改用 Selenium 之外的工具,
而是使用 Selenium 但調整做法。
因為就算換了工具慢還是慢在網站本身
例如,一樣先用 Selenium 連到該頁面,
但是不再用操作頁面連結的方式做,而是設法取得 CSRF token 組參數打 api,
使用 execute_script 應該就能在第一次頁面載入後由 input 元素取得 CSRF token,
再使用 execute_async_script 打 api 取得資料
Ref : https://stackoverflow.com/q/28057338/1042731
而由於是實際跑在瀏覽器,可以正確的帶上 JSESSION ID,
並且瀏覽器本身的同 domain request 數量限制會自動避免你變成 DDOS
(印像中是 4 或 8,不確定現在有沒有改變)
而像以下是一個可以跑的 api 示例,我沒怎麼研究,
只是直接拿開發者工具裡看到的參數來用
https://pastebin.com/ANgNVxqF
說回為什麼 "瞭解問題" 重要,
弄清楚問題是什麼再對症下藥,比較不會花大量時間做無用功,
當問題解決時也比較清楚問題究竟是什麼,為什麼能解決,
才能真的吸收並得到經驗
有時候不一定要急著趕工,
稍微停下來,多查一查想想看,反而可能更快更有收獲
※ 引述《andy22543 (andy22543)》之銘言:
: 最近接到一個專案要爬購物網站存mySQL
: 爬分類裡面各產品資訊+內頁詳細資訊
: 目前已經使用selenium+multithreading寫完
: 可惜速度不夠快
: 所以正改用request改寫
: 但發現不管用什麼方法(session、cookie、payload)都沒辦法取得首頁的商品資訊
: 已經把網路上能看的解決方式都看過一遍還是無解
: 另外也試過network的event(貌似是api?
: 把相關資訊post上去爆出ConnectionError: ('Connection aborted.'
: 所有能試解法都試過還是無法
: 有沒有精通的高手幫看一下還有甚麼辦法呢
: 附上連結
: https://www.hktvmall.com/hktv/zh/%E8%B6%85%E7%B4%9A%E5%B7%BF%E5%A0%B4/%E8%B6%85%E7%B4%9A%E5%B8%82%E5%A0%B4/%E5%86%B7%E5%87%8D-%E6%80%A5%E5%87%8D%E9%A3%9F%E5%93%81/main/search?page=0&q=%3Arelevance%3Astreet%3Amain%3Acategory%3AAA11110000000
: -----
: Sent from JPTT on my iPhone
--
※ 編輯: lovdkkkk (114.37.169.144 臺灣), 01/28/2023 00:47:48
大眼鏡的威席不是熟悉的威席QQ
X
Re: [請益] 每日FBX之亂到此結束?低調回覆這篇, 小弟之前做投資網站時有寫爬蟲去抓每日FBX官網的報價, 然後有發現網站 雖然寫要看每日報價必須登入會員, 可是其實他技術上根本沒有阻擋, 就算沒有會員的 cookie, 打下面這個API就能拿到近一年的每日報價了... 拿到的json檔案想方便觀看可以用下面的網站解析json:13
[心得] 為什麼要學 GraphQL?來聊個簡單的議題? 『為什麼要學 GraphQL?』 部落格好讀版: 身為網站工程師,您不能不知道什麼是 GraphQL,這是一個前端跟後端溝通的 API Query 語法,大幅改善了前後端的合作模式,這篇會跟大家介紹為什麼麼要學 GraphQL, 以及整理出三大 GraphQL 優勢,讓大家了解跟傳統 Restful API 有什麼不同。當然不是20
[請益] 後端作品請益大家好,我78年次,私立資工畢業,沒有做過相關工作 想轉職為「後端工程師」,有做了一個作品出來,請各位前輩幫忙看看 使用 vue,bootstrap,node,mysql 伺服器架在 heroku,前端放在 github 是一個類似 FB、ig 的社交網站11
Re: [討論] 請大家聊聊 JavaScript的缺陷推 laputaflutin: 同意樓上,不過看到這次美國大選很多新聞網都拿 11/04 21:02 → laputaflutin: svelte來寫,感覺蠻有趣的,應該會拿來試試看 11/04 21:03 禁不住好奇心的我終究還是去看一下 Svelte, 原來它是個反 React、反 Vue、反前端在瀏覽器動態解析樣板的框架兼開發工具。 它讓你在開發時期能夠先以 js 程式碼定義資料,3
Re: [請益] 專精前端(或後端)vs全端工程師我個人認為 如果要把前端練得很厲害 必定需要搭配後端 比如說 想知道怎麼送資料時 後端能拿到哪些東西 怎麼拿 常見的伺服器或框架預設會對 request 做哪些前處理