【问题标题】:Return the top ten Google results hyperlinks返回前十个谷歌结果超链接
【发布时间】:2015-09-20 16:28:15
【问题描述】:

我希望修改 Santosh 提供的代码,以便我可以返回特定 Google 搜索的前十个链接,而不仅仅是前一个结果。我需要上传超过 1000 个搜索查询并将结果与​​预期结果进行映射,但我关心的不仅仅是排名第一的结果,我还想看看它是否返回前十名。我查看了 html 和 VBA,但我无法弄清楚。

Using VBA in Excel to Google Search in IE and return the hyperlink of the first result

【问题讨论】:

    标签: vba excel search


    【解决方案1】:

    未经测试,这里的这一行似乎正在拉取集合中的一个元素:

        Set link = objH3.getelementsbytagname("a")(0)
    

    因此,您将“Link”对象设置为 objH3 集合中具有“a”标签的第一个对象(对象 0)。

    您想要做的是遍历该集合。例如:

        Set links = objH3.getelementsbytagname("a")
        For i = 0 To 9
          set link = links(i)
          'do stuff
        next
    

    编辑:

    循环应该在更高级别的对象上:

        For i = 0 To 5 
            Set objH3 = objResultDiv.getelementsbytagname("H3")(i) 
            Set link = objH3.getelementsbytagname("a")(0) 
            ' Do Stuff 
        Next I
    

    感谢理查德的更新。

    【讨论】:

    • 嗨,如果答案不够有用,请告诉我,我会更新。如果是,请将其标记为已接受的答案。
    • 感谢 JMcD!这看起来像是一个完美的解决方案,但我在让它运行时遇到了一些麻烦。它仍然可以很好地完成第一次迭代,但是当我进入第二个值 (1) 时,它会出错 - RTE 91;变量未设置。我猜在 0 之后,值 1-9 无效(我确实尝试将其强制为 2,但没有运气)。这是网页上搜索结果 1 和 2 的 html,但我找不到要循环浏览的标识符
    • 2machines.com/186984" onmousedown="return rwt(this,'','','','1','AFQjCNGMjdYvSbQjdJiT8mbdHwBIX5oqbQ','h12OsR4Dyp13oulvrwYbEw','0CB4QFjAA', '','',event)">我发短信的方式毁了我的约会生活。看看它是否正在破坏...... shape.com/lifestyle/sex-and-love/…" onmousedown="return rwt(this,'','','','2','AFQjCNFBL_ZFd0l5RmfS8p9qymWqKYIh6A',' iU_ctkd57Z1A9ju2cg85wQ','0CCQQFjAB','','',event)">10 个技术娴熟的短信和在线约会技巧 ... - 形状
    • 开始工作了!我必须在更高级别循环: For i = 0 To 5 Set objH3 = objResultDiv.getelementsbytagname("H3")(i) Set link = objH3.getelementsbytagname("a")(0) ' Do Stuff Next i
    • 很高兴您可以使用它!抱歉,我没有及早看到你们的 cmets 来提供更多帮助。
    猜你喜欢
    • 1970-01-01
    • 2020-11-30
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 2020-09-05
    相关资源
    最近更新 更多