有关于前后端项目的理解,有些不明白之处 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tddxx
V2EX    问与答

有关于前后端项目的理解,有些不明白之处

  •  
  •   tddxx 2020-05-25 11:27:24 +08:00 2009 次点击
    这是一个创建于 1965 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们公司现有门户网站是采用的 vue.js+java,在部署的时候通过将 vue 项目打包出静态文件( npm run build ),放到 nginx 中然后通过 nginx 访问页面。虽然可行,但碰到了一个致命的问题seo 优化,这样打包出来的 html 页面都是利用 js 获取页面,导致百度爬虫什么也爬不出来。

    在网上看了很多案例,尝试了很多方法但是效果都不太理想: 1.利用 nuxt.js 改造现有项目,但是项目已经成型,花费成本太高 2.预渲染 prerender-spa-plugin,这种方法我们也有尝试,但是发现对服务器资源消耗过大 3.淘宝的 node 中间层处理方案,将 html,js.css 放到 node 容器中,好像对我们现有项目也帮助不大。

    今天突然有了个想法,我可不可以直接在服务器端 npm run dev 运行开发环境,通过 nginx 直接转发到这个端口,不打包,直接运行项目,这样爬虫是否可以爬取到内容?

    12 条回复    2020-05-25 14:59:59 +08:00
    poisedflw
        1
    poisedflw  
       2020-05-25 12:03:13 +08:00
    要想 SEO,就老老实实的用 SSR 吧,用官方推荐的 vue-server-renderer,成本并不大。
    crazybinggan
        2
    crazybinggan  
       2020-05-25 12:07:01 +08:00
    说说我的方法,专门针对爬虫搞一套,样式、JS 都不用,就是路由管理比较蛋疼,好处是真特么方便、爽~
    seki
        3
    seki  
       2020-05-25 12:08:00 +08:00
    不能
    seo 的问题是这些内容都是 js 加载之后渲染在页面里面的,而爬虫没有办法从 html 读到
    用 dev server 也是一样的
    ArtIsPatrick
        4
    ArtIsPatrick  
       2020-05-25 13:02:25 +08:00 via iPhone
    既然是门户网站设计之初就应该考虑到 SEO 的问题呀
    HarryQu
        5
    HarryQu  
       2020-05-25 13:16:37 +08:00
    @crazybinggan 你的方案可行吗? 我之前查询了这个方案,有的人说:爬虫会伪装成正常 ip 来爬取数据,如果获取内容不一致,会被判断为作弊。

    prerender-spa-plugin 消耗资源大,可以尝试在本地构建,构建成功后,上传到服务器。不过我之前采用 prerender-spa-plugin,发现百度并不理睬我的博客,Google 倒是收录了,可能博客太烂了,嘿嘿。
    tddxx
        6
    tddxx  
    OP
       2020-05-25 14:32:05 +08:00
    @poisedflw 有没有具体的现有项目接入 ssr 的 demo
    tddxx
        7
    tddxx  
    OP
       2020-05-25 14:33:02 +08:00
    @seki 也就是说 html+ajax 异步获取爬虫也获取不了,必须要是模板引擎类的,直接返回静态页面
    tddxx
        8
    tddxx  
    OP
       2020-05-25 14:33:23 +08:00
    @ArtIsPatrick 为了方便就采用了 vue
    seki
        9
    seki  
       2020-05-25 14:43:31 +08:00
    是的,不如你就改到 nuxt 吧,把 ajax 请求从原来的地方挪动到 nuxt 的专门 api 就行。用 nuxt 甚至可以把网站做成静态的
    red2dog
        10
    red2dog  
       2020-05-25 14:51:20 +08:00
    成本高吗,vue 转 nuxt 改造,还有 react 转 next 改造我都做过。不是只需要改请求层和路由层吗。
    问题是你们既然需要 seo,那为什么最初的技术选型搞成客户端渲染呢。
    red2dog
        11
    red2dog  
       2020-05-25 14:53:32 +08:00
    在我看来,成本高只有客户端渲染转 pug 或者 EJS 这样的改造。
    crazybinggan
        12
    crazybinggan  
       2020-05-25 14:59:59 +08:00
    @HarryQu 你这么问还真没关注过...这边也只是简单针对特定搜索引擎爬虫 agent 去分流
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2681 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:10 PVG 22:10 LAX 07:10 JFK 10:10
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86