[其他] web scraping一問

小弟想係某啲網站keep住拎文字及相片
過程需要web scraping
以我所知主流有puppeteer/selenium/tampermonkey/chrome extension
如果講求效能,速度,及多平台運行(要output去其他電腦run,最好唔洗裝package)
呢四款邊樣最適合?
剩係講速度係咪puppeteer?始終係headless Chromium
寫個chrome extension會唔會比較方便?速度唔會差好遠?

原來有這樣東西 XD
我是自己寫 code 去做, 將資料自動寫入 database
沒有很詳細看 puppeteer/selenium/tampermonkey/chrome extension
只看了一下 puppeteer, 語法很簡單, 但問題來了, 就是所有事情都要在 browser 內進行, 無法做 browser 以外的事情?

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

原來有這樣東西 XD
我是自己寫 code 去做, 將資料自動寫入 database
沒有很詳細看 puppeteer/selenium/tamp ...
kong3883 發表於 2020-7-25 11:29


好難browser以外做
而家D網站越黎越多用javascript靠ajax拎內容
純綷load個page落黎, 唔run埋其他logic係拎唔齊野

TOP

回覆 4# KinChungE
都係睇個網站有冇做SSR
一般你會有興趣crawl佢資料嘅網站都幾乎肯定有SSR (佢自己都要做SEO)

TOP

先不理是否 SSR, 如果沒 browser 怎做?
例如在自己 server 是一條龍 send quest, response  回來的資料, 根據 logic 取出有用的資料, 每隔3小時自動做一次

但 server 上沒 browser, 樓主的東西是否一樣可以做到一條龍全自動
還是要人手介入 ?
有時間要再 research 一下...

TOP

回覆  KinChungE
都係睇個網站有冇做SSR
一般你會有興趣crawl佢資料嘅網站都幾乎肯定有SSR (佢自己都要做 ...
Rolf 發表於 2020-7-25 18:10


如果我想crawl既係圖片/影片呢

TOP

先不理是否 SSR, 如果沒 browser 怎做?
例如在自己 server 是一條龍 send quest, response  回來的資料, 根 ...
kong3883 發表於 2020-7-25 19:02


https://www.httrack.com/
冇browser, 純http crawling

TOP

本帖最後由 Rolf 於 2020-7-25 21:09 編輯

回覆 6# kong3883
如果網站有做SSR
任何HTTP client(browser或programming language client等)GET method 都會拎到完整的HTML content
只要根據自己需要拎想要的東西就得(e.g. parse to DOM,read tag / id等等)

重點係issue HTTP GET request時,目標網站回什麼response
只要有完整內容再來就自由發揮

TOP

本帖最後由 Rolf 於 2020-7-25 21:25 編輯

回覆 7# KinChungE
例如商品類的話,有做SEO的可以輕鬆read meta

冇的話只能靠DOM,例如某id/div內的第n個element咁
缺點係拎嘅資料未必正確(因為要假設data永遠在某一個位置)
可以再加logic去檢查先儲落DB(e.g. http link的話先試GET確定是200拎到,睇media type確定是想要的資料etc)

p.s. 即使冇SSR,SPA類網頁肯定有API去拎data,研究到佢API request 模式嘅話直接API拎更輕鬆

TOP