之前在 v2 问了一下 SPA 的搜索引擎收录问题,同时也自己进行了测试。 发现百度蜘蛛和谷歌并不能很好的收录单页(spa)应用。 自己也尝试用过 ssr 的方案,ssr 方案的问题有几个: 1.需要改动原有代码 2.服务器需要跑 node 3.负载比较高
在谷歌相关解决方案的时候,发现国外有不少做 SPA 渲染服务的 原理是这样的: 在 http 请求来的时候,判断 ua,如果是爬虫,就反代到 spa 渲染服务接口,spa 渲染服务会使用无头浏览器进行访问,并输出渲染后的页面。
看国内并没有提供类似服务的,想自己搞一个。 (目前手里有资源能扛较高的并发)
V 油给点建议?
1
wswuai 2018-06-11 11:54:28 +08:00
Splash / phantomjs 了解一下
|
2
zhandi OP 我打算做的服务就是用 phantomjs 作为无头浏览器进行渲染,只是把它服务化,让生产服务器不再承担这个任务,由第三方去做
|
3
xylitolLin 2018-06-11 12:00:35 +08:00
PhantomJS 的性能实在是... 我公司也用 PhantomJS 做专门的 SEO 的,现在都逐步重构为 SSR 了
|
4
mdluo 2018-06-11 12:00:41 +08:00 via iPhone 1
Puppeteer as a service:
https://pptraas.com |
5
zhandi OP @xylitolLin 是的,PhantomJS 的性能确实...,但是 ssr 我感觉也不太好。所以我想做一个国内的 SPA 渲染服务,刚好手里有一批资源可以用来跑 PhantomJS。
|
7
Cynic222 2018-06-11 12:10:10 +08:00 via iPhone
现在都转到 puppeteer 了
|
8
zhandi OP @Cynic222 puppeteer 也有测试,可能是因为肩负太多其他任务,也或者是我优化不到位,puppeteer 渲染速度还没 PhantomJS 快。
|
9
mdluo 2018-06-11 12:26:52 +08:00
@zhandi #6 渲染静态网页技术上一点难度都没有,但是难在怎么把这个东西包装成 SaaS 平台并且运营起来并且拉到客户来用并且愿意付钱,这和仅仅开发几个功能就完全是两个概念了
|
10
tingyunsay 2018-06-11 12:47:59 +08:00
楼主看看这个有木有你提到的这种服务: https://scrapinghub.com/ ,而且我觉得首先你要做成云服务,别人把 url 丢到你这边渲染,再返回,传输的时间就消耗有点多;而且这个需求一般是研发人员会在意的,如果是这样研发基本都能自己搭建集群,splash / puppeteer/ phantomjs 这种类似,那客户群体都有哪些呢?;还有一点,如果你全部用自己的机器去渲染,如果遇上 ip 之类的反爬(你这边也需要解决吧),对于用户是不是还需要另外收费呢?提点自己的想法,楼主加油~~
|
11
caviar 2018-06-11 12:56:56 +08:00
|
12
zhandi OP |
14
yrj 2018-06-11 16:51:58 +08:00 via iPad
@zhandi 我之前也用 Puppeteer 做了一個,感覺也是沒有 phantomjs 快,但是可以解析 vue 等 mvvm 框架的網頁。
|
15
zhandi OP @yrj Puppeteer 和 phantomjs 都没问题,只是 phantomjs 好像对 es6 支持不如 Puppeteer 好
|
16
wzhndd2 2018-06-12 10:24:31 +08:00
headless 了解一下
|