我对多个casperjs实例如何同时工作有点困惑。多个casperjs实例共享相同的Cookie
我的理解是,如果我们有“casperjs”c.1.js,c.2.js,...,cxjs(它们具有相同的代码),那么它将创建多个进程,并且它们应该单独管理资源,像单独的cookie文件。如果我们多次使用“casperjs”c.x.js文件,它将共享相同的cookie文件。
我的理解正确吗?
感谢您的任何意见。
我对多个casperjs实例如何同时工作有点困惑。多个casperjs实例共享相同的Cookie
我的理解是,如果我们有“casperjs”c.1.js,c.2.js,...,cxjs(它们具有相同的代码),那么它将创建多个进程,并且它们应该单独管理资源,像单独的cookie文件。如果我们多次使用“casperjs”c.x.js文件,它将共享相同的cookie文件。
我的理解正确吗?
感谢您的任何意见。
每个phantomjs
实例都有自己的object phantom.cookies, 如果您运行casperjs c.x.js
多次,每个实例都将拥有自己的cookie,如果要单独保存这些cookies,您可以使用这样的bash脚本:
#!/bin/bash
# run it, e.g.: ./test.sh 10 snap.js // 10 times snap.js
export PHANTOMJS_EXECUTABLE=/tmp/casperjs/phantomjs # ln -sf /tmp/casperjs/phantomjs /usr/local/bin
# export SLIMERJS_EXECUTABLE="/root/slimerjs-0.9.5/slimerjs" # ln -sf /root/slimerjs-0.9.5/slimerjs /usr/local/bin
num=0
while [ "$num" != "$1" ]
do
let "num++"
echo instance_"$num" >>/root/t
/tmp/casperjs/bin/casperjs --cookies-file=/root/casperjs/cookies_"$num".txt /root/casperjs/"$2" >>/root/t &
echo "$num $1 $2"
done
exit 0
通过这样做,您将有几名工作人员分别使用Cookie。
SlimerJS:
Cookies是存储在Mozilla的轮廓SQLite数据库。如果你想拥有持久性cookies,你不能像PhantomJS那样指定一个文件,但你应该创建一个永久性配置文件。见profiles。
阅读也:
https://docs.slimerjs.org/current/api/cookie.html#cookie
https://docs.slimerjs.org/current/api/phantom.html#phantom-cookies
感谢。我的问题是每个casperjs实例在访问相同的域时如何分别管理cookie。我不认为指定cookie文件的位置将有所帮助。 – Yijin