在Python中加载cookies

0 投票
1 回答
1153 浏览
提问于 2025-04-16 12:29

我是一名初学者,正在尝试用Python访问谷歌的分析工具。我可以顺利访问那些不需要cookies的网站,但我似乎无法正确传递cookies。我的cookies文件是从Mozilla Firefox导出的,存放在Z盘,而我也是从这个盘上运行Python的。

我也觉得我保存文件的代码可以写得更好,而不是简单地读和写,但我也不知道该怎么做。任何帮助都会很感激。

import urllib2
import cookielib
import os

url = "http://www.google.com/insights/search/overviewReport?q=eagles%2Ccsco&geo=US&cmpt=q&content=1&export=2"
cj = cookielib.MozillaCookieJar()
cj.load('cookies6.txt')
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
file = opener.open(url)
output = open('test2.csv','wb')
output.write(file.read())
output.close()

1 个回答

1

我没有测试你的代码,不过:

从我能看出来,你的代码似乎没有什么问题。

我试过你要找的那个网址,下载csv文件的时候没有遇到任何问题,也没有用到任何cookies

根据我之前和谷歌的经验,你可能是从错误的角度看这个问题。并不是说你没有正确的cookies,而是谷歌会自动阻止来自机器人的请求。如果真是这样的话,你需要更改用户代理的http头,让它看起来像是一个真实的浏览器。不过要注意,这样做是违反谷歌的服务条款的,而且如果你每分钟发起的请求太多,谷歌会把你这个ip的所有请求封锁大约8小时。

撰写回答