网站首页 > 开源技术 正文
准备工作
初始化npm
npm init
安装需要用到的库
koa/cheerio/nightmare/superagent/koa-router
搭建服务器
运用koa,我们可以很快速的搭建一个本地Http服务
编写完成后在终端启动运行即可 -执行 node index.js
爬取
- Robots协议
/robots.txt 在地址后跟上这个路径,就可以查看相应地址的Robots协议,这其中带有Disallow的就是禁止爬取的页面
我们这边选择爬取豆瓣互联网图书排行
通过查询dom结构,我们可以看出我们需要获取的书名在 #subject_list ul li h2 a
- 引入两个库
superagentJS - superagentJS是轻量级的ajax API, cheerioJS - cheerioJS的load()方法,可以使用类似jQuery的$(element)的方式来获取页面元素,可以快速获取到我们需要的元素
- 获取数据
通过使用superagentJS与cheerioJS,获取到书籍名称和地址的数据集合hotBookList数组
- 访问3000端口
页面展示数据,说明爬虫已经成功获取书籍数据
数据存储到本地
- 本地txt文档
运用node fs模块进行数据的修改 fs - 模块 readFile (fileRoute,fileData,callBack) - 文件读取 write (fileRoute,fileData,callBack) - 文件写入,覆盖操作 appendFile (fileRoute,fileData,callBack) - 文件写入,增量操作
插入代码
打卡dataSave.txt文件,格式如下
- 修改方法
我们打开dataSave发现我们与我们预期值不一致,查过之后发现储存obj数据格式需要转换格式,否则就会出现刚才这种情况
修改插入语句如下 fs.appendFile('dataSave.txt', JSON.stringify(news);
归纳
我们可以通过这个小爬虫了解到一些爬虫的小知识,通过这个小demo我们可以了解到一些node写爬虫写法。在之前我印象中还只有python才能做爬虫,似乎爬虫是python的专利,前几天听说可以用node写爬虫,遂进行了尝试,使用起来感觉还行。
目前对获取的数据没有做过多归整,数据也只存储在本地txt。数据可以存储可以有多种的方法,excel或者数据库等。包括一些翻页的问题也没过多的深入探究,今天在单独写一篇来归纳这部分内容。
猜你喜欢
- 2024-10-21 霸榜掘金!轻量级请求策略库 alova 出炉!
- 2024-10-21 对于现代 Web 应用除了美观要求之外,对产品体验度要求高
- 2024-10-21 5 个顶级的 JavaScript Ajax 组件和库
- 2024-10-21 用 async 模块控制并发数(async await并发)
- 2024-10-21 package-lock.json的作用?(package lock.json)
- 2024-10-21 为什么 JS 开发者更喜欢 Axios 而不是 Fetch?
- 2024-10-21 Node.js爬虫实战 - 爬你喜欢的(node爬取数据)
- 2024-10-21 node.js爬虫-校园网模拟登录(校园网模拟登陆)
- 2024-10-21 IMT星际云每周资讯-20190111(星际云官网)
- 2024-10-21 nodejs,express,koa爬虫实战(node网络爬虫)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)