作者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/cn.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