首页 > 解决方案 > 不使用模块从另一个网站抓取数据

问题描述

我正在尝试使用 node.js 和wix-code从另一个网站抓取数据

使用这个后端代码

import { fetch } from 'wix-fetch';

export function fetchData() {
let url = 'https://www.brainyquote.com/topics/hacker';

let option = {
    "method": "GET"
}
return fetch(url, option)
.then(result => {
    return result.text();
}).catch(reason => {
    return reason;

 })
}

和客户端代码

fetchData().then(function (result) {
    console.log(result);
})

我可以从这个网站得到完整的回复

但我想要的是只获取报价,然后将它们添加到我的数据库集合中,而不使用Cheerio之类的模块!

标签: javascriptnode.jsweb-scraping

解决方案


如果没有 Cheerio,您将不得不自己解析 HTML 内容,这会很痛苦。您将不得不分析 HTML 响应,将响应加载到字符串中,然后使用正则表达式或其他方法解析出您想要的部分。

以下是一些使用正则表达式的示例:

https://www.javamex.com/tutorials/regular_expressions/example_scraping_html.shtml


推荐阅读