注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Oh! I see you!

Hi! ppmm~~

 
 
 

日志

 
 

Excel vba自动获取给定的关键词的百度搜索结果  

2009-12-23 17:32:08|  分类: Excel |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

本文链接:http://oicu.cc.blog.163.com/blog/static/123039471200911235328265/

原文链接:http://www.newsmth.net/bbscon.php?bid=612&id=90088

问题:【 在 younten (大鹏 死亡岛过客) 的大作中提到: 】
有无可能在word或Excel中实现这样功能的VBA程序?
对于确定的几个关键词(如唐僧、孙悟空、猪八戒等),对于每个关键词,实现以下功能:
1. 在Baidu中搜索给定的关键词(如唐僧);
2. 将搜索结果的第一页中内容拷贝到word文档中;
3. 点开搜索结果的第二页;
4. 将搜索结果第二页内容拷贝到word文档中。
在1-2-3-4步骤中没有人的手工动作参与,用VBA完全完成相应的工作。
不知道这样的VBA是否能够实现?

基本的解答方法(by trends@newsmth.net)全文链接:http://www.newsmth.net/bbscon.php?bid=612&id=90071


基本的解答方法就是“数据-导入外部数据-新建web查询”录制宏实现的。
默认格式是“无”,如果用html就有链接了。改了一下,每个关键词搜索前两页:

Sub GetBaidu()
' by oicu#lsxk.org

Dim arr(4) As String
arr(0) = "唐僧"
arr(1) = "孙悟空"
arr(2) = "猪八戒"
arr(3) = "沙僧"

For i = 0 To 3
    For j = 0 To 1   '搜索第1、2页
        ActiveWorkbook.Worksheets.Add
        With ActiveSheet.QueryTables.Add(Connection:= _
            "URL;http://www.baidu.com/s?wd=" & arr(i) _
                & "&pn=" & CStr(10 * j), Destination:=Range("$A$1"))
          
'.RefreshOnFileOpen = True
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
          
'.SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
          
'.RefreshPeriod = 0
            .WebSelectionType = xlSpecifiedTables
            .WebFormatting = xlWebFormattingAll  
'xlWebFormattingNone
            .WebTables = Swap(j)
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
    Next j
Next i
End Sub


Function Swap(intPage) As String
    tmp = ""
    For i = 1 To 10
        tmp = tmp & """" & CStr(10 * intPage + i) & ""","
    Next
    Swap = Left(tmp, Len(tmp) - 1)
End Function


  评论这张
 
阅读(1192)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018