如何利用node解决seo问题

如何利用node解决seo问题,第1张

NodeJS在SEO中的应用:快速采集分析页面

一、安装

网上有很多的教程,下载到>

然后配置神器Sublime开始使用。

为Sublime添加实时调试运行,打开Sublime-》Tools-》Build System-》New Build System

在新打开的文件中写入下面的代码

然后保存为NodeJSsublime-build

新建一个采集js文件,设为NodeJS进行运行调试。

二、注意

在nodejs里面需要require(库名)的方式来引用一些外部的库,这些外部的库安装NodeJS的时候,已经放在C盘的programfiles下面了。但是直接require是无效的。

因为NodeJS提倡的是自己的代码用自己的库,所以还需要把库复制到采集js这个文件下面。

引用的时候可以通过npm link 库名的方式,来把系统C盘的库引用到我们的项目下面。

三、直接使用了

注意require的库必须使用npm link 库名克隆到本地,或者自己下载包放到采集js下面的node_modules目录下面,如果 没有这个目录,自己创建。

其中:

使用Cheerio要取页面的H1标题就简单了

var title=$(‘#article_details h1 a’)text()trim();//读取Div下面的H1标签文本。

有没有jQuery强到爆的感觉。想分析页面什么的,还用正则吗不用了。还用分析吗不用了。找个大的Div,直接就读出来了。C#当然也可以用Htmp Agility pack来解析Dom。

但是为此我要新建一个项目,运行,调试,用NodeJS的话,在Sublime里面按Ctrl+B直接运行,可以马上看到效果。而且可以放到服务端。放到我的服务器上去。诸多好处也不大好形容。如果会点JS代码的话,上手应该非常快。

建议多试几次
特性 跨平台支持 Windows/Linux/Unix 支持的音视频编码 H264/H265/AAC/SPEEX/NELLYMOSER 支持缓存最近一个关键帧间隔数据,实现RTMP协议秒开 支持事件回调 支持>

使用Nodejs搭建Web服务器是学习Nodejs比较全面的入门教程,因为实现Web服务器需要用到几个比较重要的模块:>

作为一个Web服务器应具备以下几个功能:

1、能显示以html/htm结尾的Web页面

2、能直接打开以js/css/json/text结尾的文件内容

3、显示资源

4、自动下载以apk/docx/zip结尾的文件

5、形如>

6、形如>

引入需要用到的几个模块:


//>
//创建一个服务var ]");});

在创建服务的时候需要传递一个匿名函数processRequest 对请求进行处理,processRequest接收2个参数,分别是request和response, request对象中包含了请求的所有内容,response是用来设置响应头以及对客户端做出响应 *** 作。


processRequest:function(request,response){    var hasExt = true;    var requestUrl = requesturl;    var pathName = urlparse(requestUrl)pathname;     //对请求的路径进行解码,防止中文乱码    pathName = decodeURI(pathName);     //如果路径中没有扩展名    if(pathextname(pathName) === ''){        //如果不是以/结尾的,加/并作301重定向        if (pathNamecharAt(pathNamelength-1) != "/"){            pathName += "/";            var redirect = ");            }        }    });}

请求处理函数中有几个重点需要说一下:

对于路径中有中文的,浏览器会自动进行编码(英文不变,中文会变),因此在接收到地址后,需要对地址进行解码,否则最后得到的路径和真实路径不相符,

当访问路径不是以具体的文件结尾,并且不是以/结尾,则需要通过重定向加上/,表示当前目录,否则当前路径下的静态资源会找不到

如果访问路径是目录,则列出该目录下所有文件及文件夹,并可以点击访问,为了让中文目录能正常显示,则还要在header中设置charset=utf-8

核心代码就这么多,大概140行左右,完整的代码已上传到github:>

如果要运行demo,打开cmd切换到根目录,运行node start 即可。

一、NodeJS介绍:
NodeJS是一个让开发者可以快速创建网络应用的服务器端JavaScript平台,同时运用JavaScript进行前端与后端编程,开发者可以更专注于系统的设计以及保持其一致性。
在这篇文章中,我们将向您介绍如何在Ubuntu1404服务器上开始您的NodeJS神奇之旅。
二、如何安装发行稳定版的NodeJS
Ubuntu 1404为了保证跨平台服务体验的一致性,在它的仓库中默认包含了一个版本为01025的NodeJS,这个可能不是最新版本,但是却一定是标准发行版本。
要想获取这个版本的NodeJS,我们只要通过apt包管理工具来安装就可以。在安装之前,最好先更新一下apt包管理工具的本地索引,然后再从Ubuntu仓库中安装NodeJS。
sudo apt-get update
sudo apt-get install nodejs
如果Ubuntu软件仓库中的包正好是你所需要的,那么上述步骤就是在Ubuntu1004下安装NodeJS的全部 *** 作过程。大多数情况下,我们还希望也安装一份NodeJS的包管理工具:npm,您可以通过以下命令安装:
sudo apt-get install npm
NPM将让使得安装NodeJS的模块或者源码包变得非常简单。
在您运行NodeJS的时候请一定要注意,因为与别的工具包相冲突的原因,Ubuntu仓库中可执行的名字是nodejs而不是node。
下面,我们将讨论NodeJS更多种灵活的安装方式。
三、如何通过PPA来安装NodeJS?
一个让你可以保持获得NodeJS最新版本的替代方案是加入由NodeSource维护的PPA(Personal Package Archive)私有包档案。这个方式可以让你获得比Ubuntu仓库更多的NodeJS版本。
首先:你得安装PPA以获得访问它内容的权限。
curl -sL >

一、Express框架

前面的章节已经介绍过了,可以使用npm来安装nodejs模块。具体 *** 作请参照以前写的nodejs概论。

Express是一个nodejs的web开源框架,用于快速的搭建web项目。其主要集成了web的>

使用方法,在cmd中打开你所想创建web项目的路径。然后输入

Express appname

即可创建一个名为appname的web项目。控制台打印结果

在cmd中进入appname文件夹输入

node appnamejs

返回结果如下图,表示安装成功!

在项目开发中经常会出现这样的问题

此错误表示没有安装相关模块,解决办法是在cmd上打开项目文件夹,输入

npm install express

安装成功后会在本文件路径下生成一个node_modules,里面包含了Express框架代码。

其他模块也可用类似的方法进行安装,安装后的路径同样是在node_modules下。

二、jade模块

jade是一款高性能、简洁易懂的模板引擎。可通过jade来编写html文件。

jade类似一个用于快速编写html的语言,其编写后的文件后缀为jade。

以下为文件的内容

在cmd中输入,压缩的过的可以通过加-P来不压缩,如果每次更改模版都要打命令行一次很麻烦是不是,我们可以通过加上jade -P -w jadejade  加上一个-w来开启监视模式,每次更改模版,html文件都会自动编译咯

生成后的html文件如下:

在jada文件中是可以使用for循环和if判断语句的,可以让你体会类似JSP的<%%>和php的<php></php>在网页上输出数据的快感。

三、forever模块

nodejs作为>

1后台服务运行,监控运行日志,以及>

2确保项目的正常安全运行,Nodejs的启动命令node,很大程度无法满足运行需求;

Nodejs的forever模块在第二点就可以起到很大的作用,同时其拥有监控文件更改、自动重启等功能。

forever模块的使用方法有两种:1在命令行中使用

forever -l foreverlog -o outlog -e errlog appjs
-l foreverlog -o outlog -e errlog分别指定了forever的运行日志,脚本流水日志,脚本运行错误日志,启动后将在本文件夹下产生outlog、errlog文件。

2在编码中require forever模块使用。

四、SocketIO模块

SocketIO模块主要功能是将WebSocket协议应用到所有浏览器。主要用于实时的长连接多求情项目中。

例如:在线联网游戏,实时聊天、实时股票查看、二维码扫描登录等。

安装方法仍然是在cmd在中输入npm install socketio

如何使用SocketIO来创建一个项目。

需要分别实现服务端和客户端的逻辑:

先创建一个服务端的nodejs脚本index_serverjs

var app = require('>

其中,socketemit()为Socket发送消息的函数,第一个参数表示发送消息的key值,第二个参数为发送消息的内容,也就是发送的数据。

Socket。on()为Socket接收消息的函数,第一个参数为接收消息的可以值,第二个参数为回调函数,其中回调函数携带的参数为接收消息所发送的数据。

接下来web前端如何使用JavaScrit 来连接Socket服务器。

新建一个index_clienthtml

<script type="text/javascript" src="socketjs"></script>
<script type="text/javascript">    var socket = ioconnect('>

<script type="text/javascript" src="socketjs"></script>加载已经安装好的Socketio的本地JavaScrit文件。
var socket = ioconnect('>

socketio详细请参阅    >

五、request模块

request模块为开发者提供了一种简单访问>

安装:

npm install requset

request模块基本上覆盖了所有的>

get和post的区别

get:

1使用get向服务器发出和接收的请求会附在url之后。类似:>

2get请求不能超过1024个字节。

post没有限制,也不会附在url上。

接下来做一个简单的实例

get实例:

首先新建一个服务器app_getjs

var >

再建一个发送求情的request_getjs文件

var request=require('request');
requestget(">

在CMD中运行app_getjs,运行成功后,再打开一个cmd(之前的cmd不要关闭),执行request_getjs文件。

执行后的结果如下

hello world
GET

可以看出,通过requestget方法访问

>

var >

然后再新建一个request_postjs

var request=require("request");
requestpost('>

像上面一样在cmd中执行后显示的结果如下:

D:\nodejs\src\request>node request_postjs
{"name":"ermu","book":"nodejs"}
POST

request post提交了一个json对象{"name":"ermu","book":"nodejs"}而服务器接通过获取该POST数据,然后返回客户端,同时将>

request post参数可以有两种传递方式。

其中,第一种是将url和form表单的数据作为json参数在request post传递。举例如下:

requestpost('url':'>

另一种是将url和form作为两个参数,上面的实例就是使用这种方法。

六、  Formidable模块

该模块的目的是为了解决文件上传。

在原生的nodejs模块中,提供了获取post数据的方法,但是并没有直接获取上传文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13432992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-05
下一篇 2023-08-05

发表评论

登录后才能评论

评论列表(0条)

保存