Node.js网站爬虫(六)易错点合集和感想


相关链接汇总:
Node.js网站爬虫(一)项目简介与完成情况
Node.js网站爬虫(二)mysql配置与数据库设计
Node.js网站爬虫(三)网络爬虫
Node.js网站爬虫(四)Express框架构建网站执行搜索功能
Node.js网站爬虫(五)扩展:热点词时间热度动态可视化展示
Node.js网站爬虫(六)易错点合集和感想

易错点合集

网络爬虫部分:crawler.2.1_xxx.js

  • Cannot read property ‘0’ of null

在这里插入图片描述

当exec()执行结果为空时,不存在下标[0]的值,因此需要分类讨论:

在这里插入图片描述

  • Can not read property ‘replace’ of undefined

在这里插入图片描述

undefined类型无replace属性,确保eval(desc_format)不为null时再进行replace 操作。

在这里插入图片描述

  • Can not read property ‘split’ of undefined

在这里插入图片描述

undefined类型无split属性

在这里插入图片描述

  • 增添取不到URL的情况

在这里插入图片描述

  • 增添取不到时间的情况

在这里插入图片描述

  • 执行sql语句时增添return

    遇到error后返回,继续解析后面的网页。

在这里插入图片描述

  • The “buf” argument must be an instance of Buffer, TypedArray, or DataView. Received undefined

更改前:

在这里插入图片描述

报错原因:不知道body的类型,未给body开辟空间。(使用Buffer.from(body)解决)

更改后:

在这里插入图片描述

网站构建部分:search.html和index.js

  • search.html中:

    var mytype = $("#test option:selected").val() :取得用户选择的下拉菜单的值(类型:title或content),一定注意要在click后再获取查询类型,实验过程中因为之前把这行命令写在了ready()之后click()前,导致一直只能取到下拉菜单的默认值。(意思是“加载页面的时候就拿到下拉框默认的值了,之后点击按钮之后也还是这个默认值,没有再次去获取,因此改成在两个点击事件函数里获取下拉框的值就可以了“ )。
    在这里插入图片描述

  • index.js中:

    获取url中用户传入值的方式:request.query.xx

    举例 request.query: { searchinfo: ‘疫苗’, type: ‘title’ }

    则可以 request.query.type 和 request.query.searchinfo分别取到’疫苗’、‘title’。

在这里插入图片描述

总结和感想

通过此次实验项目,将课堂上学到的理论知识用于实践之中,更加深入详细地学习理解了网络爬虫的过程和Express框架构建网站的过程,也对网站页面的设计有了更多的了解,是一次收获颇丰的作业经历。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值