为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Node.js 进行网页抓取

使用 Node.js 进行网页抓取

慕哥9229398 2024-01-18 17:12:47
我正在尝试通过网络抓取来完成这项任务。在我的网页上,我获取 URL 并查找其标签之间的内容<body>。然后,我想输出在我的网页上找到的内容。我了解到我可以使用request模块来达到此目的。问题是,我无法在页面的 HTML 中显示结果,因为我无法保存 的request工作结果(在 POST 部分)这是我的代码:var request = require("request");const express = require('express');const app = express();const session = require('express-session');const path = require('path');const bodyParser = require('body-parser');const router = express.Router();app.use(session({secret: 'shhhhhhh', saveUninitialized: true, resave: true}));app.use(bodyParser.urlencoded({extended: true}));var sess;router.get('/', (req, res) => {    res.sendFile(path.join(__dirname + '/index.html'));    sess = req.session;    if (app.get('done') === true) {        console.log(app.get('info'));                    // prints "undefined"        app.set('done', false);        res.end(`            <h1>Show other sites</h1>            <form action="/" method="POST">                <input type="text" name="site" id="site" placeholder="url"><br>                <button type="submit">go</button>                <a href="/">BACK</a>            </form><br>            <hr>            <p>url: ${app.get('site')}</p>            <hr>            <div>            ${app.get('info')}            </div>        `);    }    else        res.sendFile(path.join(__dirname + '/index.html'));})router.post('/', (req, res) => {    sess = req.session;    sess.site = req.body.site;        app.set('done', false);    if (sess.site) {        app.set('done', true);        request({            uri: `${sess.site}`,}, function(error, response, body) {                app.set('info', body);       // Here I'm trying to save the scraped result                app.set('site', sess.site);            }        );    }    res.redirect('/');})router.get('/clear', (req, res) => {    req.session.destroy((err) => {        if (err)            return console.log(err);        res.redirect('/');    })})app.use('/', router);app.listen(3000);console.log("Running at port 3000");请帮助我找出我做错了什么以及如何保存Request模块的结果以供以后使用。
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信