gpt4 book ai didi

excel - 如何使用 VBA 获取谷歌搜索的第一个搜索结果链接?

转载 作者:行者123 更新时间:2023-12-04 21:11:26 25 4
gpt4 key购买 nike

在我的日常任务中,我目前必须搜索大量产品并收集有关这些产品的信息。所以我的想法是在谷歌上搜索产品,并通过从产品标题部分提取数据来从第一个搜索结果中获取信息,并为许多产品循环。

到目前为止,这是我的代码:

Sub SkuAutomation()

Dim ie As Object


'Navigates to google
Set ie = CreateObject("InternetExplorer.application")
ie.Visible = True
ie.Navigate "https://google.co.uk/search?q=" & Worksheets("sheet1").Cell(9, 4).Value & " " & Worksheets("sheet1").Cells(9, 2)


'Waits for page to load before next action

Do While ie.ReadyState <> READYSTATE_COMPLETE

Loop

End Sub

我只想添加一段代码,它要么点击谷歌返回的第一个链接,要么为我返回链接。然后我的想法是从该页面的产品标题部分刮取数据!尽管如此,仍然处于非常早期的阶段。

我只是一个初学者,所以任何类型的帮助都将不胜感激!提前谢谢了。

最佳答案

您的里程可能会有所不同,但对于您提供的内容,您可以使用 CSS 选择器组合通过页面样式定位第一个链接。

我用 #search div.r [href*=http]但您可以简化为 #search .r a .我有兴趣知道有一个 httphref尽管。
#是一个 id 选择器,一个空格 " "是后代选择器(选择前一个元素的子元素,[] 是属性选择器。"." 是类选择器,即按类名选择元素。

我正在寻找带有 href 的第一个元素包含 http 的属性在其具有父元素 div 的值中具有类名的元素 r ,其父级的 id 为 search .

Option Explicit
Public Sub GetLink()
Dim ie As New InternetExplorer
With ie
.Visible = True
.navigate "https://google.co.uk/search?q=Currys+241825"

While .Busy Or .readyState < 4: DoEvents: Wend

Debug.Print .document.querySelector("#search div.r [href*=http]").href

.Quit
End With

End Sub

关于excel - 如何使用 VBA 获取谷歌搜索的第一个搜索结果链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53100287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com