【转帖】殷谦祥:火车头采集爱站数据

此贴转自光年论坛,殷谦祥的使用火车头+Excel采集爱站数据。

流程一:采集爱站内容
QQ截图20110919233626.png

1、这一步填写好要采集的爱站地址,必须包含填写:http://www.aizhan.com/baidu/XXXXXXX.com/(*)/,XXXXX填写你要采集的网址。

具体的采集规则我会放到帖子附件里,大家打开可以看一下我写的采集规则,规则并不完善,努力中。

2、采集的时候会有一些多余的乱码出现,之后在EXCEL中删掉就可以了,如果有哪位朋友帮我完善了更好:-)
采集完一个站点以后,如下图所示,数据是这样的:
QQ截图20110919233934.png

我在数据间加了诸如排名分隔符、关键词分隔符等文字,到时候在EXCEL里面好进行处理。
采集的数据保存为CSV文件即可。
QQ截图20110919234322.png

提醒:采集爱站经常会出现有的页数没有采集到,这时去采集项目上点击右键,打开Data下任务文件夹,是一个access数据库,把没有采到的项目,对应的“已采”“已发”字段修改成0即可。
QQ截图20110919234526.png
QQ截图20110919234711.png

流程二:EXCEL处理数据

1、新建一个excel文件,将采集完后的CSV文件数据粘贴进去。OK进入处理阶段。
先把诸如关键词分割之类的分割词替换成你想要的分割词,比如同义替换成逗号。
我一般只需要关键词、流量、排名三项数据,那么做过简单的处理,我得到了这个表:
QQ截图20110919235152.png

2、在EXCEL里,先选中关键词数据,粘贴到新的工作表中,方便操作,之后使用数据标签中的“分列”功能,使用逗号进行分割。
QQ截图20110919235407.png

3、之后每一个关键词都放到了独立的单元格中,复制这些数据,再建立一个新的工作表(为了方便,我非常爱新建工作表。。)
将关键词数据选择性粘贴,选择转置,这样数据就按照竖列排序了,为下一步加入其他维度的数据做准备。
结果是这个样子滴:
QQ截图20110919235716.png
4、使用同样的方法处理流量、排名或者其他维度。过程中会遇到一些垃圾数据,处理的时候小心一点别删除错了。
至此基本的操作完成了,剩下的如何使用宏来自动化处理数据。

数据处理的整体流程是:
1、为每一页关键词数据旁插入空白列。
2、将每一页其他数据如关键词流量数据,插入到空白列当中。
3、检查数据是否准确。
4、将每一组数据向下排列,做成能够排序的最终数据。

第一个宏:自动左侧插入列

  1. Sub 自动左侧插入列()
  2. ‘ 自动左侧插入列 Macro
  3. Dim Counter As Integer
  4. For Counter = 1 To 50
  5. ActiveSheet.Cells(1, (Counter + (Counter – 1))).Select
  6. Selection.EntireColumn.Insert
  7. Next Counter
  8. End Sub

复制代码

插入列的原因是,需要把关键词数据和其他的数据一一对应起来,需要给这些数据留出放置的地方,也就是需要插入空白列。

注:我这里只需要关键词和流量数据,因此我也只处理了两个维度,有其他需求的朋友请修改宏代码吧。

把需要的数据粘贴到一个工作表中,如下图
QQ截图20110920234150.png

运行宏,结果是这个样子的:

QQ截图20110920234417.png

第二个宏:向上剪切单元格

  1. Sub Sub向上剪切单元格()
  2. ‘ Sub向上剪切单元格 Macro
  3. Dim Counter As Integer
  4. Dim t As Integer
  5. For Counter = 26 To 50
  6. For t = 1 To 24
  7. ActiveSheet.Cells((Counter), (t + t)).Select
  8. Selection.Cut
  9. ActiveSheet.Cells((Counter – 25), (t + t – 1)).Select
  10. ActiveSheet.Paste
  11. Next t
  12. Next Counter
  13. End Sub

复制代码

向上剪切的原因是,把关键词和流量的数据进行一对一关联。上面这个宏的意思是,错开一列,把“26到50行”的数据移到 “1到24行”。

这里我觉得这么做,是有好处的,因为能根据每一页来检查,看看对应关系是否正确,因为之前在筛选数据的时候,可能会误删数据:-)

完成后的数据是这样的:

QQ截图20110920235051.png

第三个宏:整理每段数据

  1. Sub 整理每段数据()
  2. ‘ 整理每段数据 Macro
  3. Dim t As Integer
  4. Dim Counter As Integer
  5. For t = 2 To 50
  6. ActiveSheet.Cells(Counter, (t + t – 1)).Select
  7. Range(Cells(1, t + t – 1), Cells(25, t + t)).Select
  8. Selection.Cut
  9. ActiveSheet.Cells((t + 25 * (t – 1)), 1).Select
  10. ActiveSheet.Paste
  11. Next t
  12. End Sub

复制代码

最后一步,把已经有了对应关系的数据,一组一组的移下来,整理成能够排序的最终数据。

上面那段宏,t用来定位要移动多少数据段,因为目前爱站最多采集50页,那么t的最大值是50,t=1是第一段,因此t是从2开始的。
最终的数据是这个样子的:

QQ截图20110921000158.png

大功告成了,剩下就是删除空白字段(采集的时候会有些采不到,宏处理的时候为了怕覆盖掉数据,就有些余量,所以产生了一些空白)。

 

原文地址:

http://www.gnbase.com/thread-4166-1.html

http://www.gnbase.com/thread-4185-1.html



无觅相关文章插件,快速提升流量

标签:,

实在不堪垃圾评论的骚扰,还是禁止了吧,有事微博联系吧。