作者vi000246 (Vi)
看板Soft_Job
標題[請益] js有辨法寫爬蟲嗎
時間Sat Jul 18 19:31:10 2020
打算寫一支591爬蟲
有符合條件的新物件就跳出通知
因為懶得架server跟DB 想用chrome extension來做
稍微做了研究
發現要取得房屋列表json
需要先進到591頁面
取得cookie的591_new_session跟html裡面<meta>中的csrf-token
分別放到get reqeust中的header跟cookie
才能取到我要的資料
想問用js能做得到嗎 還是一定要後端語言呢
如果要做成後端 要能設定定時執行
還要考慮跨電腦同步db問題 只打算存物件id用來判斷重複物件
想到就覺得麻煩...
好像還沒看過有人用純js寫爬蟲的?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.118.128 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1595071872.A.0BE.html
※ 編輯: vi000246 (219.68.118.128 臺灣), 07/18/2020 19:37:55
1F:→ diabloevagto: 可以 07/18 19:33
2F:→ milktea736: 應該可以用 nodejs 試試? 07/18 19:34
3F:推 alihue: JS 會先處理 CORS 到爆 07/18 19:35
cors超討厭的 害我的載片小幫手沒辨法在頁面inject預覽圖
只能用開新視窗的方式
※ 編輯: vi000246 (219.68.118.128 臺灣), 07/18/2020 19:39:50
4F:→ dreamnook: 可以 查apify 07/18 19:51
5F:→ dreamnook: 啊 不過我抓的是靜態頁面 可能不符 07/18 19:52
6F:→ MOONY135: 非常討厭CORS 07/18 19:54
7F:→ MOONY135: python他不香嗎 07/18 19:54
8F:→ MOONY135: db跟server 用docker不就幫你裝好了 07/18 19:55
9F:推 yahooc: 真香 07/18 19:57
10F:推 x123356: 我覺得你可以先搞懂為什麼會有CORS存在 還有api gateway 07/18 20:00
11F:→ leo5916267: 不然直接去591客服問怎麼爬你們家的網頁 07/18 20:40
13F:→ guanting886: .... 07/18 21:41
14F:推 seal0112: 用node.js寫 不會很難 用js browser會因為cors擋 07/18 21:43
15F:推 BlacksPig: 11樓意見不錯,已笑翻 07/18 21:43
16F:推 fantasychese: 最近剛好在學 你須要的是Puppeteer 07/18 23:35
17F:推 Ayukawayen: extension在background發XHR應該就不會被CORS擋 07/18 23:51
18F:→ Ayukawayen: 不過要先在manifest的permissions把目標網域加進去 07/19 00:03
19F:推 Mamann: 直接nodejs不用cors啦 07/19 00:21
20F:推 zxc8899546: 用cheerio處理html 抓取你要的部分就好 07/19 00:23
21F:→ vi000246: 大家講的都是node.js 看來只能用後端寫了 07/19 01:21
22F:→ TakiDog: 在瀏覽器執行一定撞cors,載片我都寫Python 07/19 01:31
23F:→ TakiDog: 直接把連結用 書籤放js丟給python後端XD 07/19 01:32
24F:→ leo5916267: cors可以關掉瀏覽器的cors看看,或是你webpack用proxy 07/19 02:31
25F:→ leo5916267: 繞過去,但就只是自己用爽的而已 07/19 02:31
26F:→ vi000246: 我打算用python寫了 買個便宜主機設定cron job 07/19 02:57
27F:→ vi000246: 資料庫用jsonbin 應該能解決我的問題 07/19 02:57
28F:推 kewang: SSR 還好,如果你是 CSR 的話就一定要用後端處理了,puppe 07/19 09:50
29F:→ kewang: teer 操作萬解 07/19 09:50
30F:→ apotatostory: 前端我用angular 框架 用proxy 啟動不會cors哦 07/19 12:17
31F:→ qq076qq076: 樓上,ng就是幫你起了一個本地的node伺服器做proxy啊. 07/19 15:15
32F:→ qq076qq076: .. 07/19 15:15
33F:推 chatnoir: 有proxy當然不會有cors啊 =_= 07/19 15:57
34F:→ Hsins: GitHub Actions 就能搞定的東西,為什麼要自己租伺服器? 07/19 19:07
35F:推 Hitmear: 591我之前用python直接打request,一下就搞定了 07/20 14:46
36F:→ Hitmear: 放在heroku上也免費 07/20 14:47
37F:推 jihon2002: 這樣找租屋變好方便XD 07/21 01:26
38F:→ jobintan: Heroku免費的應該有限制吧!還是去官網看一下比較好。 07/21 08:02
39F:→ vi000246: heroku我記得一天要休眠6小時 沒人戳也會自動休眠 07/21 08:57
40F:→ infixman: heroki不是綁信用卡就不用休眠? 07/22 09:58
41F:→ infixman: *heroku 07/22 09:59
42F:→ aa06697: 11樓XD 07/23 14:33