nodejs简单学习

1 篇文章 0 订阅
1 篇文章 0 订阅

简单了解了一下前端的node.js
开发工具 webstorm
同时需要下载安装node.js

下面是简单代码测试 首先使用webStorm创建一个项目
然后在项目创建Server.js

let http = require('http');
http.createServer(function (request,response) {
    //发送 Http头部
    //HTTP 状态值 200: OK
    //内容类型:text/plain
    response.writeContinue(200,{'Content-Type':'text/html;charset=utf-8;'});
    response.end('<html><body><p>我的</p></body></html> \n');
}).listen(8888)

console.log('Server running')

Content-type 设置服务器响应返回的格式

然后根据python request 联系一下nodejs 爬虫的实现,准备工作:
命令行输入: npm install request

代码如下

// let webdriver = require('selenium-webdriver');  #selenium 模拟驱动
// let By = webdriver.By;
// let driver = new webdriver.Builder()
//     .forBrowser('chrome')
//     .build();
// driver.get('http://www.baidu.com');
//
// kw_input = driver.findElement(By.id("kw")).sendKeys("Python");
// su_button = driver.findElement(By.id("su")).click();
var request = require('request')
var cheerio = require('cheerio')
var request = require('request');
var cheerio = require("cheerio");
request('http://example.webscraping.com/places/default/view/Afghanistan-1', function (error, response, body) {
    if (!error && response.statusCode == 200){
        // console.log(body) ; // 打印百度
        var $ = cheerio.load(body);
        $('tr[id="places_area__row"]>td[class="w2p_fw"]').each(function(index,element){
            console.log($(element).text());
        })
    }
});

cheerio 库是方便选择网页内容,需要注意一下选择标签的方法
上面也一段selenium模拟的代码 需要下载驱动
npm install selenium-webdriver --save 配置selenium运行环境
安装Chrome驱动
npm install chromedriver --save
安装Firefox驱动
npm install geckodriver --save
安装IE驱动
npm install iedriver --save

然后就是爬虫的cookies和session 技巧 以及反爬虫技术 在这里不过多介绍

下面就是web了 联系python flask
代码如下

var express = require('express');
var app = express();
//使用ejs模版引擎解析html
app.engine('.html', require('ejs').__express);
app.set('views', __dirname + '/views');
//视图引擎支持html
app.set('view engine', 'html');

var items=[{title:'文章1'},{title:'文章2'}];
app.get('/', function(req, res, next) {//request,response
    res.render('index',{title:'文章列表',items:items,endli:'<b>列表结束</b>'});
});

app.get('/form', function(req, res, next) {
    res.render('form',{title:'文章列表',message:'Python Is Best'});
});

app.post('/form', function(req, res, next) {
    res.redirect('/');
});

app.get('/a', function(req, res, next) {
    res.render('angular');
});


app.get('/process_get', function (req, res) {

    // 输出 JSON 格式
    var response = {
        "first_name":"jack",
        "last_name":"lily"
    };
    console.log(response);
    res.end(JSON.stringify(response));
});

app.listen(8081);

返回json格式时 我们需要将数据json化 JSON.stringify()方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值