Python CookieJar - Google Analytics 设置的 Cookies

2 投票
3 回答
882 浏览
提问于 2025-04-16 11:30

我对这个情况有点困惑。我正在写一个脚本,用来登录一个网站。我使用了CookieJar,登录的方法运行得很好。

如果我尝试显示cookieJar的内容:

for index, cookie in enumerate(cw.cj):
        print index, ':', cookie

我得到的cookie是:

0   :   <Cookie C4CSESSID=tqb2qn92du8i9k5r4vnpd83i73 for www.example.com/>

但是在我的Firefox浏览器中,如果我查看那个域名(其实是没有www的)在cookies编辑器里,我也能看到一些谷歌分析的cookie(比如__utma,__utmc等等)。

我该如何在cj中也捕获这些cookie呢?我的目标是能够修改__utmb这个cookie的内容。(我可以在Firefox中做到,但我也想通过脚本来实现)

谢谢

3 个回答

0

这些 cookies 是由 Google Analytics 的 JavaScript 代码设置的。你需要理解这段代码才能获取到这个 cookie。

这需要一些努力。

0

我觉得你在页面上执行了跟踪代码后,就能获得那个cookie(这是来自Google服务器的响应)。因为这是JavaScript,你需要找到一种方法,要么在你的代码中解释JavaScript,要么模拟跟踪代码发出的请求。

在浏览器之外解释JavaScript可能会比较麻烦,我猜测跟踪代码需要访问DOM(文档对象模型),而如果你用urllib这样的工具获取页面,可能就没有这个访问权限。

0

我在想,如果我创建一个cookieJar,并在里面添加一些“搞错了”的cookie(比如__utmb),这会对我在那个网站上的后续查询有影响吗?

就像是覆盖掉ga这个cookie一样。

撰写回答