phantomjs - 存储和发送 cookie
phantomjs - store and send cookies
我按如下方式使用 PhantomJS 从网站检索和解析数据。
const phantom = require('phantom');
const url = 'https://whosebug.com/'
let _ph, _page, _outObj;
phantom.create()
.then( (ph) => {
_ph = ph;
return _ph.createPage();
}).then( (page) => {
_page = page;
return page.open(url);
}).then( (status) => {
console.log(`Status: ${status}`);
return _page.property('content');
}).then( (data) => {
console.log(data);
_page.close();
_ph.exit();
}).catch( (e) => console.log(e));
我还需要做的是存储服务器发送的 cookie,并将它们包含在对服务器的后续请求中 - 我该怎么做?
PhantomJS 能够自行存储和加载 cookie,根据 docs 有一个 cli 选项:
--cookies-file=/path/to/cookies.txt
specifies the file name to store the persistent Cookies
因此,对于 phantom
节点模块,您可以在创建浏览器时传递此选项:
phantom.create(['--cookies-file=/path/to/cookies.txt']).then(...)
我按如下方式使用 PhantomJS 从网站检索和解析数据。
const phantom = require('phantom');
const url = 'https://whosebug.com/'
let _ph, _page, _outObj;
phantom.create()
.then( (ph) => {
_ph = ph;
return _ph.createPage();
}).then( (page) => {
_page = page;
return page.open(url);
}).then( (status) => {
console.log(`Status: ${status}`);
return _page.property('content');
}).then( (data) => {
console.log(data);
_page.close();
_ph.exit();
}).catch( (e) => console.log(e));
我还需要做的是存储服务器发送的 cookie,并将它们包含在对服务器的后续请求中 - 我该怎么做?
PhantomJS 能够自行存储和加载 cookie,根据 docs 有一个 cli 选项:
--cookies-file=/path/to/cookies.txt
specifies the file name to store the persistent Cookies
因此,对于 phantom
节点模块,您可以在创建浏览器时传递此选项:
phantom.create(['--cookies-file=/path/to/cookies.txt']).then(...)