首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网页抓取过滤结果

网页抓取过滤结果
EN

Stack Overflow用户
提问于 2018-03-15 22:34:54
回答 1查看 104关注 0票数 1

所以我是vba的新手,我得到了哪个网站是store.steampowered.com的价格。我得到的价格很好,但我想过滤结果。如果result小于2,则不写入结果。我使用的是以下代码:

代码语言:javascript
复制
y = 1

For x = 1 To 21

    objIE.navigate "http://example.com/market/search?appid=578080#p" & x & "x_name_asc"

    Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop

    MsgBox "Checking"

    For Each itemEle In objIE.document.getElementsByClassName("market_listing_row_link")

        Prc1 = itemEle.getElementsByClassName("market_listing_right_cell market_listing_their_price")(0).getElementsByTagName("span")(1).textContent

        Sheets("Sheet2").Range("D" & y).Value = Prc1

        y = y + 1

    Next

Next x

我试过这段代码,但它不工作:

代码语言:javascript
复制
If Prc1 > 2 Then

    Sheets("Sheet2").Range("D" & y).Value = Prc1

    y = y + 1

End If

例如在excel中:

代码语言:javascript
复制
D1 : $20.55 USD
D2 : $6.37 USD
D3 : $1.26 USD '-------> i am tring to dont get this
EN

回答 1

Stack Overflow用户

发布于 2018-03-15 22:51:42

尝试以下操作。返回的其中一个类型不是字符串。

代码语言:javascript
复制
CDbl(Split(Split(Prc1, "$")(1), " ")(0)) > 2

确保已从返回值中提取数字部分,以便与值2进行比较。

代码语言:javascript
复制
Option Explicit

Sub testing()

    Dim x As Long, y As Long, Prc1 As String
    Dim objIE As Object
    Dim itemEle As IHTMLElement

    Set objIE = CreateObject("internetexplorer.application")

    y = 1

    For x = 1 To 21

        objIE.navigate "http://steamcommunity.com/market/search?appid=578080#p" & x & "x_name_asc"

        Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop

        For Each itemEle In objIE.document.getElementsByClassName("market_listing_row_link")

            On Error Resume Next

            Prc1 = itemEle.getElementsByClassName("market_listing_right_cell market_listing_their_price")(0).getElementsByTagName("span")(1).textContent

            If CDbl(Split(Split(Prc1, "$")(1), " ")(0)) > 2 Then

                Sheets("Sheet2").Range("D" & y).Value = Prc1
                y = y + 1
            End If

            On Error GoTo 0

        Next

    Next x

    objIE.Quit

End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49302234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档