我想创建一个应用程序,它将具有由Web API提供并由knockoutjs提取的页面内容。我应该如何处理我想要被抓取的页面,是否有一个库在爬虫进入网站时生成静态html页面并且正确地集成在sails.js中?
如果我可以将!#
从网址中删除,但这不是必要的,那也很棒
答案 0 :(得分:1)
这是一个解决方案: 大多数主要网站都使用此功能。
如果您的前端使用伪页面,那么您可以轻松地将这些网址路由到某些实际页面并使用任何模板引擎。
如果没有一个技巧就是拥有一个div标签,其中包含与res.render一起发送的所有内容。 javascript代码将删除该内容。
您还可以包含元描述标签。
更多详情:
1)添加您希望抓取工具注意的所有页面的自定义路线
2)使用引擎(例如jade或ejs)创建另一个简单视图模板
3)在内部调用API函数,获取数据并渲染视图
res.view('simpleView', dataFromDb);
4)该视图模板有一些javascript会隐藏该内容
5)knockout.js然后照常渲染内容。