2)下载JavaScript编辑器webStorm
如果你是个聪明的家伙,你一定能完成这两个安装。如果安装过程中,不幸遇到各种bug,那么请你自行问度娘,安装好了再继续往下看。
安装必要的模块:
Express
基于 Node.js 平台,快速、开放、极简的 web 开发框架。它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。
Request
简化HTTP请求的处理,支持OAuth的签名请求,很好很强大。
Cheerio
为服务器特别定制的,快速、灵活、实施的jQuery核心实现,像操作dom一样操作抓取文本。
mysql
node下的mysql数据库连接模块,存储抓取数据。
核心逻辑:
app.get('/', function (req, res, next) {
// 用 superagent 去抓取 https://cnodejs.org/ 的内容
superagent.get('https://cnodejs.org/')
.end(function (err, sres) {
// 常规的错误处理
if (err) {
return next(err)
}
// sres.text 里面存储着网页的 html 内容,将它传给 cheerio.load 之后
// 就可以得到一个实现了 jquery 接口的变量,我们习惯性地将它命名为 `$`
// 剩下就都是 jquery 的内容了
var $ = cheerio.load(sres.text)
var items = []
$('#topic_list .topic_title').each(function (idx, element) {
var $element = $(element)
items.push({
title: $element.attr('title'),
href: $element.attr('href')
})
})
res.send(items)
})
})
demo:https://github.com/alsotang/node-lessons/tree/master/lesson3
纯粹前端的js 是不能 跨域 获取 cookie的xxx.com 的js 代码 只能得到 xxx.com的cookie,拿不到 yyy.com
当然如果你有办法 在 yyy.com 写入受到自己控制的 html文件,你就可以写代码去拿到 对应的cookie,但看你的需求 应该你没有yyy.com 的权限
所以 要结合其他方案,推荐一下两种:
使用 electron ,electron 你可以认为是受js控制的浏览器引擎,所以你可以用它访问 yyy.com 拿到cookie,再接着做你的事情
或者 使用 puppeteer(Google 官方出品的 headless Chrome node 库)
Puppeteer 提供了一系列的 API,可以在无 UI 的情况下调用 Chrome 的各种功能,适用于爬虫、自动化处理等各种情景。