项目介绍
通过 TypeScript 实现一个简单的爬虫程序,从豆瓣电影 Top 250 页面抓取电影的标题和评论信息,并将数据存储到本地 JSON 文件中。该项目使用了 superagent
和 cheerio
两个核心工具:
- superagent:一个轻量的 HTTP 请求库,用于获取网页 HTML 内容。
- cheerio:一个类似 jQuery 的 HTML 解析库,方便从 HTML 中提取需要的数据。
代码详解
1. 数据结构设计
interface Target {
name: string;
comment: string;
}
interface StoreData {
time: number;
data: Target[];
}
Target
接口用于存储每部电影的标题和评论。StoreData
接口用于存储整个数据集合以及时间戳,便于后续分析。
2. 发送请求获取 HTML 内容
let res = await supporagent.get(url);
let html = res.text;
- 通过
superagent.get()
方法发送 HTTP 请求,获取网页 HTML 内容并存储在html
变量中。
3. HTML 解析与数据提取
let allContent = cheerio.load(html);
let fileItems = allContent('.item'