简单了解了一下前端的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()方法