我希望开发一个简单的爬虫工具,可以使用Node.js或Ruby从网页中提取cookie信息。虽然我想分享一些代码,但我不确定用于创建爬虫的最佳库。这个爬虫的主要目的是检索所有的cookie存在于一个页面上,基于一个URL参数,其中可能包括通过谷歌标签管理器异步加载。例如:第一个月预期输出应为:> _ga _gid ...我愿意在Node.js或Ruby中实现爬虫,但我对Node.js有一点偏好。有没有人能提供关于创建这个cookie爬虫的最佳库或方法的指导?
> _ga _gid ...
i34xakig1#
要创建一个简单的爬虫工具,使用Node.js从网页中提取cookie信息,您可以利用Puppeteer库。setTimeout函数作为一种阻塞机制,允许有足够的时间加载所有cookie,包括像'_ga'这样的第三方cookie。下面是使用Puppeteer的示例实现:
const puppeteer = require('puppeteer'); const DELAY = 20000; // setTimeout const URL_SITE = 'https://www.youtube.com/'; // site to be accessed (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto(URL_SITE); setTimeout(async () => { // Get cookies using page.cookies() const cookies = await page.cookies(); // Alternatively, you can extract cookies using page.evaluate() const cookiesPorEvaluate = await page.evaluate(() => { return document.cookie.split(';'); }); console.log(cookies); // Output all cookies console.log(cookiesPorEvaluate); // Output cookies extracted using page.evaluate() await browser.close(); }, DELAY); })();
字符串在运行代码之前,请使用npm install puppeteer确保在Node.js环境中安装了Puppeteer。此脚本将启动无头浏览器,导航到提供的URL_SITE,并等待延迟时间,然后使用page.cookies()和page.evaluate()提取和显示Cookie。请记住自定义URL_SITE变量,以指向您要抓取cookie的特定网站。
1条答案
按热度按时间i34xakig1#
要创建一个简单的爬虫工具,使用Node.js从网页中提取cookie信息,您可以利用Puppeteer库。setTimeout函数作为一种阻塞机制,允许有足够的时间加载所有cookie,包括像'_ga'这样的第三方cookie。
下面是使用Puppeteer的示例实现:
字符串
在运行代码之前,请使用npm install puppeteer确保在Node.js环境中安装了Puppeteer。
此脚本将启动无头浏览器,导航到提供的URL_SITE,并等待延迟时间,然后使用page.cookies()和page.evaluate()提取和显示Cookie。
请记住自定义URL_SITE变量,以指向您要抓取cookie的特定网站。