js 爬虫抓取网页数据(爬取小说网站-首页推荐小说爬取第一步-确定目标网站)
优采云 发布时间: 2021-12-01 21:07js 爬虫抓取网页数据(爬取小说网站-首页推荐小说爬取第一步-确定目标网站)
前言
今天不做序,只想分享一些关于爬虫的技巧,任性。来吧,来宾官员,请...
开头的第一个问题:什么是爬虫?
首先,让我们说爬行动物不是“虫子”,所以不要害怕它们。
## 开篇第二问:**```爬虫```**能做什么嘞?
来来来,谈谈需求
**产品MM:**
1. 爱豆的新电影上架了,整体电影评价如何呢?
2. 暗恋的妹子最近又失恋了,如何在她发微博的时候第一时间知道发了什么,好去呵护呢?
3. 总是在看小说的时候点到广告?总是在看那啥的时候点出来,澳xx场又上线啦?
4. 做个新闻类网站没有数据源咋办?
**研发GG:**
用爬虫拉取偶像视频的所有评价,导入表格,然后分析评价。使用爬虫,添加定时任务,拉妹微博,只要数据有变化,接入短信或邮件服务,第一时间通知使用爬虫,拉小说内容或xxx视频,自己设计展示页面,完美!使用爬虫,定时任务,从多个新闻源拉取新闻,存入数据库。第三个问题:爬虫是如何实现的?
实现爬虫的技术有很多,比如python、Node等,今天胡歌就和大家分享下如何用Node做爬虫:爬小说
爬行第一步——确定目标
目标 网站:23us.so
我们要获取排行榜中的六本小说:小说图书信息对应的书名、封面、地址(以下获取小说的完整信息)
第二步爬取——分析目标的特征
网页的内容是由HTML生成的,爬取内容就相当于找到了特定的HTML结构,获取了元素的值。
打开 web 调试控制台查看元素的 HTML 结构。
注意页面的 HTML 结构。排行榜推荐小说的HTML结构为
bdo#s-dd 元素
dd 子元素 - 每一部小说
a 目录信息
img 封面
a 小说名称
第三步爬行-操
工具要先磨砺自己的工具,才能发挥最大的作用,做好充分利用武器的准备!
超级代理
模拟客户端发送网络请求,可以设置请求参数,头部信息
npm install superagent -D
啦啦队
类JQuery的库,可以导入字符串,创建对象,快速抓取字符串中符合条件的数据
项目目录:
node-pachong/
- index.js
- package.json
- node_modules/
在代码上:
// node-pachong/index.js
/**
* 使用Node.js做爬虫实战
* author: justbecoder
*/
// 引入需要的工具包
const sp = require('superagent');
const cheerio = require('cheerio');
// 定义请求的URL地址
const BASE_URL = 'http://www.23us.so';
// 1. 发送请求,获取HTML字符串
(async () => {
let html = await sp.get(BASE_URL);
// 2. 将字符串导入,使用cheerio获取元素
let $ = cheerio.load(html.text);
// 3. 获取指定的元素
let books = []
$('#s_dd dd').each(function () {
let info = {
link: $(this).find('a').eq(0).attr('href'),
name: $(this).find('a').eq(1).text(),
image: $(this).find('img').attr('src')
}
books.push(info)
})
console.log(books)
})()
友情提示:每个网站的HTML结构都不一样。在捕获不同网站的数据时,必须分析不同的解构才能取得成功。
效果图:
获取到信息后,做接口数据返回,存储数据库,想做什么就做什么……
源码获取