我想做一些花哨的事情来简化我对一个实用网站的浏览,但问题是我真的不知道该怎么做,或者是否甚至可以使用 excel。
我想要做的是让 excel 在给定页面中搜索“Overstock”之类的文本。如果找到该单词,则返回给定单元格中的“Full”或“Overstock”或相反的结果。
这样做的原因是只需打开一个 excel 并为每个页面提供单独的结果即可一次检查 100 多页。
我想做一些花哨的事情来简化我对一个实用网站的浏览,但问题是我真的不知道该怎么做,或者是否甚至可以使用 excel。
我想要做的是让 excel 在给定页面中搜索“Overstock”之类的文本。如果找到该单词,则返回给定单元格中的“Full”或“Overstock”或相反的结果。
这样做的原因是只需打开一个 excel 并为每个页面提供单独的结果即可一次检查 100 多页。
通过一些修改,这应该可以满足您的需求。
我有代码可以登录我使用的网站,但您可能不需要。
我已经从一个更大的宏中删除了这个,所以这里可能不需要一些位。
Sub scraper()
Dim site As String
Dim lastRow As Long
Dim ie
With ActiveSheet
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Set ie = CreateObject("internetexplorer.application")
ie.Visible = True
ie.navigate site
'idle while ie is busy
Do
Loop Until ie.readystate = 3
Do
Loop Until ie.readystate = 4
With ie.document
.getelementbyid("UserName").Value = uName
.getelementbyid("Password").Value = uPass
.forms(0).submit
End With
On Error GoTo error
Do
Loop Until ie.readystate = 3
Do
Loop Until ie.readystate = 4
For i = 2 To lastRow
site = Range("A" & i).Value
ie.navigate site
Do
Loop Until ie.readystate = 3
Do
Loop Until ie.readystate = 4
msg = ie.document.Body.innerhtml
If InStr(msg, "Text To Find") = 0 Then
ActiveSheet.Range("B" & i).Value = "Not Found"
Else
ActiveSheet.Range("B" & i).Value = "Found"
End If
jump:
Next i
Exit Sub
error:
ActiveSheet.Range("B" & i).Value = "Unknown Error!"
Resume jump
End Sub