下载Google趋势CSV文件(来自AWS)

时间:2014-04-01 14:20:59

标签: python amazon-web-services web-crawler

我每个月都会运行脚本为我的研究下载Google趋势CSV文件,我有大约1000个搜索字词。我知道着名的“您已达到配额限制,请稍后再试”错误消息因此我使用Mechanize python模块来提供cookie。这是我的电话:

 import mechanize # other imports omitted for simplicity 

 br = mechanize.Browser()

 cj = cookielib.LWPCookieJar()
 br.set_cookiejar(cj)

 br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

 response = br.open('https://accounts.google.com/ServiceLogin?hl=en&continue=https://www.google.com/')
 forms = mechanize.ParseResponse(response)
 form = forms[0]
 form['Email'] = username
 form['Passwd'] = password
 response = br.open(form.click())

 Result = br.open("http://www.google.com/trends/trendsReport?q=SearchTerm&export=1") 
 CSVcontent = csv.reader(StringIO(Result.read()))

在我的实际脚本中,我有一个睡眠时间规格,从1到5秒不等。

但是,使用这些方法,我一次只能下载大约350个CSV文件。运行后,即使我在不​​同的AWS实例(不同地区,使用相同的Google帐户凭据)上重新运行我的脚本,我也只能在配额限制用完之前下载2个术语。

我还尝试在同一个实例上重新运行该脚本,使用的是不同的Google凭据,但发生了同样的事情(仅限2次CSV下载)。

最糟糕的是,即使在一个月之后,我仍然只能使用我在脚本中(几个月前)使用的Google凭据每天下载2个CSV文件。

因此,我猜Google正在监控IP地址级别和用户帐户级别的用户下载,并标记下载过多的帐户。

  

我的问题:

     

有没有人可以告诉我是否有付费服务或API   这是配额限制免费吗?

     

或者有没有办法绕过谷歌的监控(使用Tor或其他方式   方法)?但即使使用Tor,我仍然需要Google帐户凭据   正确?

     

有没有办法在没有的情况下下载Google趋势数据   用户名/密码(因此我可以使用AWS自动扩展,因为每个IP地址都可以   至少下载2个CSV文件)?

非常感谢任何帮助和开箱即用的想法。

1 个答案:

答案 0 :(得分:-2)

  

有没有方法可以在没有用户名/密码的情况下下载Google趋势数据

是的,有一种方法可以在不必登录的情况下获取您的数据(我现在正在对它进行测试,它看起来很好,但它也是一个我无法分享的秘密,因为我没有放弃它)。< / p>

我可以分享一下,我在周末下载了3,000到5,000个文件,几乎和你一样,我每个周末都会这样做。 (2个IP,2个ID)

只有我能给予的秘密就是不要锤击谷歌。如果你锤击它们,那么系统会让你失望

我发现1.5到2分钟的休息会帮助你。

以这种方式看待它:一天24小时,即1440分钟。如果每2分钟拉一个文件,那就是每天720个文件。

如果你把一个随机时间函数放进去,它们也不会让你失望,他们无法分辨你是不是你还是剧本。

  

每天只使用我在脚本中使用过的Google凭据下载2个CSV文件(几个月前)

如果您在一周左右的时间内未使用该帐户,它将会重置;另外,如果你可以更新你的IP,那将有所帮助。