用GoogleAnalytics分析数据收集全自动与否的重要性

优采云 发布时间: 2021-04-27 01:09

  用GoogleAnalytics分析数据收集全自动与否的重要性

  从文章开始,我不打算花很多精力在编写程序本身的知识上。毕竟,它是各种书籍的内容。需要学习的其他主要内容是内置函数的使用以及某些模块的使用,尤其是pycurl,re,threading,这些都需要逐步熟悉。

  如果研究中有内容,可以在文章的注释中提出,如果您有时间,我会尽力帮助您回答。

  计划要求

  对于较大的网站来说,经常有很多关键词的人需要每隔一段时间监视一次他们的排名,以分析SEO效果并判断百度和Google的趋势。

  一个关键在于数据采集是否是全自动的问题。如果您经常使用Google Analytics(分析)来分析数据,则应该感觉到数据分析的需求是多种多样的。只有事先完成了各个维度的数据后,您才可以按照原创思路进行分析,而不是因为数据受稀缺性的限制。像Google Analytics(分析)这样的出色工具可以完全自动采集这些数据,这为SEO的流量多元化分析奠定了基础。同样,如果您想拥有更大的分析自由度,则需要记录各种历史数据。如果将它们用作日常任务,则将花费很长时间,因此自动采集反映了它的重要性。

  现有监控排名的主要解决方案是使用商业软件Rank Tracker,但它在某些方面还不能令人满意。例如,对于几乎所有现有的软件问题,功能都不灵活。另外,它的最大缺点之一是必须找到一个带有图形界面的系统才能运行(因为它是用Java实现的,因此有多个操作系统版本,因此不一定是Windows)。

  对于DIY Python脚本,您可以将它们放入Linux系统中的crontab(系统级计划任务)中,并定期自动运行它们以采集原创数据。然后,在需要时,使用另一个脚本来处理原创数据并分析每个维度。所需的一般情况是:Linux系统的低配置VPS,总共不超过100行Python代码(Windows也可以实现这些代码,但这比较麻烦)。

  然后,让我们分析更具体的需求。在这里,我总结了一些原则:

  1.除非数据量太大,以至于会给硬盘带来压力(例如分析每天G数量的日志等),否则请记录与您一样多的数据可以想到的。因为分析需求是多变的,所以如果数据比较全面,则可以准备。

  2.与上述相同,除非数据量非常大,否则必须保存所有历史数据。当有大量数据时,还需要根据实际情况将数据保存一段时间(例如,在头3年中每月保存一份副本,并在每周的一周内保存一份副本)。本年度)。在许多情况下,历史数据的比较具有重要意义。

  3.当数据非常单一时,请使用txt来存储在行中;否则,请使用txt来存储行。当数据相对简单时,使用csv存储在行和列中;当数据更复杂时,可以考虑使用键值NoSQL存储,例如MongoDB;如果比较复杂,请使用关系数据库(例如MySQL)进行存储。但这不是绝对的,取决于实际情况。

  对于当前需求,由于必须监视关键词的排名趋势,因此通常最多监视数千个关键词就足够了。也许网站相对较大,我想知道成千上万关键词的排名,但是为了了解排名趋势,没有必要全部查询它们,只需选择其中的一小部分作为随机取样。

  因为最多只有几千个关键词,所以最好每天记录一次其排名数据(在确保稳定性的情况下,对于一个IP,Google每天可以查询5000多个单词,而百度可以查询数万个单词)。而且数据本身(主要包括关键词,排名和着陆页网址)非常小,因此每天都会保存一份数据副本。

  对于数据存储方法,通常此时建议使用csv。数据存储方式与Excel电子表格(xls)完全相同。

  代码实现

  这些代码需要以下操作环境:

  Linux操作系统

  Python的第三方模块pycurl

  从Python下载网页的最简单方法是:

  导入urllib2

  打印urllib 2. urlopen('http://***.com/').read()

  尽管urllib2模块本身的功能还不错,但它与pycurl模块仍然相去甚远。而且,当执行一些稍微复杂的操作时,pycurl模块比urllib2模块更方便使用。 Pycurl是必须熟练使用的模块之一,但是由于入门可能会有些麻烦,因此我自己编写了一个模块,以便可以方便地使用它:

  从pycurl导入*

  导入StringIO,时间,随机

  def curl(url,retry = False,delay = 1,** kwargs):

  '''''基本用法:curl(''),将下载网址。

  如果将“ retry”设置为True,则当网络出现错误时,它将自动重试。

  `delay`设置了每次重试之间延迟的秒数。

  ** kwarg可以是curl参数。例如:

  curl(url,FOLLOWLOCATION = False,USERAGENT ='Firefox')

  '''

  useragent_list = [

  'Mozilla / 5. 0(Windows; U; Windows NT 5. 1; en-GB; rv:1. 8. 1. 6) Gecko / 20070725 Firefox / 2. 0. 0. 6',

  “ Mozilla / 4. 0(兼容; MSIE 7. 0; Windows NT 5. 1)”,

  'Mozilla / 4. 0(兼容; MSIE 7. 0; Windows NT 5. 1; .NET CLR 1. 1. 4322; .NET CLR 2. 0. 50727; .NET CLR 3. 0. 0450 6. 3 0)',

  'Mozilla / 4. 0(兼容; MSIE 6. 0; Windows NT 5. 1; .NET CLR 1. 1. 432 2)”,

  “ Opera / 9. 20(Windows NT 6. 0; U; en)”,

  'Mozilla / 4. 0(兼容; MSIE 5. 0; Windows NT 5. 1; .NET CLR 1. 1. 432 2)”,

  “ Opera / 9. 00(Windows NT 5. 1; U; en)”,

  'Mozilla / 4. 0(兼容; MSIE 6. 0; Windows NT 5. 1; en)Opera 8. 50',

  'Mozilla / 4. 0(兼容; MSIE 6. 0; Windows NT 5. 1; zh)Opera 8. 0',

  'Mozilla / 4. 0(兼容; MSIE 6. 0; MSIE 5. 5; Windows NT 5. 1) Opera 7. 02 [zh]”,

<p>'Mozilla / 5. 0(Windows; U; Windows NT 5. 1; zh-CN; rv:1. 7. 5) Gecko / 20060127 Netscape / 8. 1',

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线