现在的位置: 首页 > 搜索引擎优化 > 正文

特定关键词深度挖掘思路及VBA代码

2014年01月08日 搜索引擎优化 ⁄ 共 1476字 评论数 2 ⁄ 阅读 2,307 次

以“租房合同”词为例,需要挖掘该方面的词以做资讯内容,则先以该词在百度竞价后台获取一批关键词,在百度搜索联想框获取一批关键词。

对这些关键词进行整理,理出四个大根词”租房合同“、”租房协议“、”房屋租赁合同“、”房屋出租合同“。

再对这些词进行扩展和衍变,如后跟范文、样文、下载、怎么写等等,放入百度关键词扩展工具进行扩展,最后大约扩展出几十个文件。

然后我们需要将这几十个文件中关键词汇总并去重,有两种思路:1、逐个文件打开汇总所有词入一个汇总文件,再用函数去重;2、先生成汇总文件,然后逐个文件匹配去重后输入汇总文件。

第一种思路比较方便,先用变量判断某源数据文件的最后一行非空单元格行号,然后选中单元格区域并copy,然后判断汇总文件最后一行非空单元格行号并加一,然后选中首页该行的单元格粘贴copy的内容。如果想简单,可以将所有源数据文件重命名为数字,然后用一个For或Do loop循环,无需打开文件自动完成结果汇总。然后就是去重,这个就可以直接用工作表->数据->删除重复项->扩展选定区域,然后仅选中关键词列进行去重。最后就是排序了,其中有<5这类的,会被排到最前列,我们只需要把<全部替换为空就好了。

第二种思路复杂点,但由于一开始笨鸟认为扩展起来文件量不会大,结果出来几十个文件,所在在中间才想起用VBA,所以思路基本是按单个文件处理的方法来的。思路大概如下:首先,在源数据后增一列判断汇总文件中关键字是否出现,若出现则提取,未出现则会出现#N/A符号,筛选出结果为该符号的;其次,判断最后一个非空单元格行号,Copy单元格区域,判断汇总文件最后一个非空单元格加一,然后直接粘贴就OK了。同样,如果不想逐个打开文件,就将所有文件重命名一下,然后用个循环函数就搞定了。

下面贴出第二种思路的VBA代码以供参考:

Sub 特定关键词深度挖掘()
Dim a As Integer
a = Sheets(1).[A5000].End(xlUp).Row
Columns("C:C").Select
Selection.Delete Shift:=xlToLeft
Columns("B:B").Select
Selection.Replace What:=" SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("C2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],[租房合同类词.xlsx]Sheet1!C1:C2,2,)"
Range("C2").Select
Selection.AutoFill Destination:=Range("C2:C" & a)
Range("C2:C" & a).Select
Columns("C:C").Select
Selection.AutoFilter
ActiveSheet.Range("$C$1:$C$" & a).AutoFilter Field:=1, Criteria1:="#N/A"
Range("A2:B2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("租房合同类词.xlsx").Activate
Dim b As Integer
b = Sheets(1).[A10000].End(xlUp).Row
Cells(b + 1, 1).Select
ActiveSheet.Paste
End Sub

» 声明:本站文章源于个人经验总结或书籍、互联网转载,内容仅用于个人学习,请勿转载,否则后果自负!

目前有 2 条留言 其中:访客:1 条, 博主:1 条

  1. 超级木仔 : 2014年10月27日11:23:07  -49楼 @回复 回复

    第一种方法,是用EXCEL处理吗?要是有图就更好啦!


    • 管理员
      大河笨鸟 : 2014年10月27日11:38:12  地下1层 @回复 回复

      是的,相当于把需要手工处理的工作用宏实现自动化了。

给我留言

留言无头像?