新闻爬虫及爬取结果查询网站的搭建(三)

本文档详细介绍了如何搭建一个新闻爬虫查询系统,包括使用Express访问pgsql数据库,前端用表格显示查询结果,并实现数据的分页和排序功能。前端使用ejs模板引擎,后端使用pgsql查询数据,利用bootstrap table插件实现分页,提供前端排序功能,提升了用户体验。
摘要由CSDN通过智能技术生成

概要

本节主要介绍对爬取结果进行查询的网站搭建。
主要有以下几个部分:
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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值