概要
本节主要介绍对爬取结果进行查询的网站搭建。
主要有以下几个部分:
1、用pgsql查询已爬取的数据
2、用网页发送请求到后端查询
3、用express构建网站访问pgsql
4、用表格显示查询结果
- 对数据进行查询
其中用pgsql查询数据,在第一章pgSQL连接池部分已经介绍过,在这里构建sql查询语句并且调用pgsql.query_noparam进行查询即可。
用express构建网站访问pgsql
首先构造前端,代码如下:
<!DOCTYPE html>
<html>
<body>
<form action="http://127.0.0.1:8080/process_get" method="GET">
<br> 标题:<input type="text" name="title">
<input type="submit" value="Submit">
</form>
<script>
</script>
</body>
</html>
效果如下图:
后端获取查询的参数,并且在数据库中进行查询的代码如下:
var express = require('express');
var app = express();
var pgsql = require('./pg.js');
//app.use(express.static('public'));
app.get('/7.03.html', function(req, res) {
res.sendFile(__dirname + "/" + "7.03.html");
})
app.get('/process_get', function(req, res) {
res.writeHead(200, {
'Content-Type': 'text/html;charset=utf-8' });
console.log(req.query.title);
var fetchSql = "select url,source_name,title,author,publish_date " +
"from fetches where title like '%" + req.query.title + "%'" ;
pgsql.query_noparam(fetchSql, function(err, result, fields) {
console.log(result.rows);
res.end(JSON.stringify(result.rows));
});
})
var server = app.listen(8080, function() {
console.log("访问地址为 http://127.0.0.1:8080/7.03.html")
})
![在这里插入图片描述](https://img-blog.csdnimg.cn/202
用表格显示查询结果
在这里使用express脚手架来创建一个网站框架。
在powershell中输入:
express -e Search_site
-e的参数表明我们用ejs作为缺省view引擎,而非采用jade
会生成search_site文件夹,将之前写好的pg.js拷贝到该文件夹下。
pg.js拷贝后还需要在search_site文件夹内cmd运行:
npm install pg –save
–save表示将mysql包安装到该项目中,并且将依赖项保存进package.json里
在search_site文件夹内cmd运行npm install
将package.json中列举的依赖项全部安装,完成网站搭建。
对search_site/routes/index.js进行修改,修改后的结果如下:
router.get('/process_get', function(request, response) {
//sql字符串和参数
console.log(request.query.title);
console.log(request.query.sort);
try