前端js爬虫?

JavaScript09

前端js爬虫?,第1张

纯粹前端的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 的各种功能,适用于爬虫、自动化处理等各种情景。

不是爬不到

是因为用js生成的网页,是通过浏览器加载js代码之后,由js动态生成的。

用爬虫直接去抓网页的话,抓下来的是原始代码,浏览器还未解析过的内容。

纯 html 的话,抓下来可以直接拿来用,但是如果是由 js 动态生成的网页的话,就没办法直接用了。

像通过js动态加载的网页,理论上如果能用开源的浏览器内核将网页解析出来的话,通过浏览器内核提供的接口,完全可以把网页最终的 html 拿出来