自动谷歌趋势下载程序

gtrends的Python项目详细描述


===
gtrends
==


新!
===


理论上,gtrends现在支持python 3.4和3.5以及2.7。您还可以指定所需的地理位置、时区、类别和搜索类型。如果有任何问题,请让我知道在问题跟踪!现在继续阅读……

about
=




使用谷歌帐户的用户可以将这些数据下载到csv文件中,但是有几个注意事项使数据难以处理。数据只有每天的粒度,直到3个月的数据,之后它们变成每周的。更糟糕的是,google规范化了数据,使得时间序列中最大的查询量百分比设置为整数'100',所有其他值设置为较小的整数值。这使得很难收集几个文件并将它们拼接在一起(例如通过较短时间段的文件来保持每日的粒度)。由于数据具有不同的比例。


gtrends通过允许开发人员以每周或每天的粒度提取数据来解决此问题,并且始终具有相同的比例,而无需担心自身的比例缩放和数据操作。


usage
==


gtrends只包含两个函数,第一个是"collectTrends()"。它可以由以下对象使用:


import datetime
import gtrends

password="mygooglepassword"


terms=["foo"、"bar"、"baz"]
startdt=datetime.datetime(year=2015,month=1,day=1)
enddt=datetime.datetime(year=2015,month=2,day=1)

trends=gtrends.collectTrends(用户名、密码、条款、开始时间、结束时间)


``collectTrends()``返回数据的二维列表,格式为[datetime、val0、val1、val2等],并附加一个标题。例如,上面的代码片段返回了一个列表``趋势``````````````````````````````:



66.667,16.667
2015年6月1日,16.667,66.667,16.667,16.667,16.667,83.333,16.667
1/8/2015,16.667,83.333,16.667
1/9/2015,16.667,16.667,16.667,16.667,83.3337,83.333,16.667,16.667,16.667,16.667,16.667,16.667,16.667
1/7/7/2015,16.667,16.667,16.667,16.667
1/8/8/2015,16.667,16.667,16.667,16.667,16.>2015年1月31日,16.667100.00,16.667


日期类型为datetime,数字是四舍五入到小数点后3位的浮点数。
数据在整个时间段内和术语之间进行规范化,使得最大值的浮点数为100.0,并且所有其他值都相应地缩放。
数据从[startdt,enddt]返回到月份的精度。(即,一个月内的特定日期无关紧要)。



`` granularity``接受分别对应于daily或weekly的``d``或``w``字符串。



----
``sum``是boolean类型的可选参数。这样,多个术语的数据就可以合并成一列。默认值为"false"。"save path"接受一个字符串作为保存结果csv的路径。如果保留为默认的"none",则不保存任何文件。

r/>
terms=["foo","bar","baz"]
startdt=datetime.datetime(year=2015,month=1,day=1)
enddt=datetime.datetime(year=2015,month=2,day=1)

trends=gtrends.collectTrends(用户名、密码、terms、startdt、enddt,
granularity=w,sum=true,savepath="mydir/data.csv")

其他规范
----
与在趋势网站上一样,您可以指定要收集数据的位置、类别、搜索类型和时区。这些都是对应于相应字段"geo"、"cat"、"gprops"和"tz"的字符串。例如,要获取意大利"pizza"一词的查询数据,在"food&drink"类别中,在"news"搜索塔吉克斯坦时间时,我将键入:


trends=gtrends.collectTrends(用户名、密码、术语、startdt、enddt、geo='it',cat='0-71',gprops='news',tz='asia/dushanbe')

注意:当您选择默认以外的搜索类型(gprops)时,只能搜索每周数据。谷歌就是这样。



原始数据
==
第二个函数``collect raw trends()``允许您以字符串形式从谷歌趋势收集原始csv::


导入日期时间
导入gtrends

username="mygoogleusername"
密码="MyGooglePassword"

terms=["foo","bar","baz"]
startdt=datetime.datetime(year=2015,month=1,day=1)
enddt=datetime.datetime(year=2015,month=2,day=1)

trends=gtrends.collectRawTrends(用户名、密码、terms、startdt、enddt,
savepath="mydir/data.csv")

在这种情况下,不能设置粒度:它是基于google自然返回的内容的每日或每周。术语数限制为5(这是google本身允许的每个csv文件的最大值),并且不支持sumation(如在collecttrends()中的可选参数sum)。此外,还包括区域数据和相关术语数据,而不是在"collectTrends()`"中被丢弃。


问题跟踪程序中的问题。

license
==
mit license


copyright(c)2015 eric salina

>特此免费授予获得本软件副本和相关文档文件("软件")的任何人许可,在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售软件副本的权利,并允许向其提供软件的人员这样做,但须满足以下条件:

上述版权声明和本许可声明应包含在本软件的所有副本或大部分中。


本软件按"原样"提供,无任何形式的明示或默示保证,包括但不限于适销性保证,适合某一特定目的和非侵犯性。在任何情况下,无论是在合同诉讼、侵权诉讼或其他诉讼中,作者或版权所有人都不对任何索赔、损害赔偿或其他责任负责,不属于或与软件或软件的使用或其他交易有关。

数据来源:google trends(http://www.google.com/trends)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Map<String,String>传递给需要Map<String,Object>   java在循环中使用字符串而不是StringBuilder是否会造成内存损失?   jnlp如何更新java控制台JRE?   java更改、修改和重新打包CXFAPI源文件   JavaFXJava应用程序在Fedora上运行一段时间后关闭   使用来自不同类的方法的java   java如何通过ant脚本在linux中使用subst?   java在使用camunda modeler进行base64编码/解码时出错   获取java。netbeans、weblogic和fastswap设置为true时的lang.NoSuchMethodError   java如何提高FinalizerThread在GC中收集对象的优先级   java检测具有相同根的单词   netbeans crud应用程序中的java错误