使用Reg表达式搜索HTML? [swift 1.2]

时间:2015-11-30 14:31:09

标签: html ios regex xcode swift

我试图执行屏幕刮,因为我找不到相关的免费API来获取我需要的数据。我已经设法执行刮擦并抓取HTML页面,但我坚持的部分是从抓取的内容中获取相关信息。我猜我需要使用REG表达式来搜索HTML,但不确定如何做到这一点。我所追踪的信息是当前汽车搜索的MAKE,MODEL,YEAR。

 var url = NSURL(string: "https://www.rac.co.uk/buying-a-car/car-passport/report/buyer/purchase/?BuyerVrm=yg06dxt")

    if url != nil {
        let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in
            print(data)

            if error == nil {

                var urlContent = NSString(data: data, encoding: NSASCIIStringEncoding) as NSString!

                print(urlContent)
            }
        })
        task.resume()
    }


}

下载了重新调整后的信息样本

<p class="CarMiniProfile-caveat u-hidden">*image for illustrative purposes only</p>

            <div>
                <table class="CarMiniProfile-table">
                    <tbody>
                        <tr class="CarMiniProfile-tableFirstRow">
                            <td class="CarMiniProfile-tableHeader">
                                Make
                            </td>
                            <td>
                                FIAT
                            </td>
                        </tr>
                        <tr>
                            <td class="CarMiniProfile-tableHeader">
                                Model
                            </td>
                            <td>
                                PUNTO SPORTING M-JET
                            </td>
                        </tr>
                        <tr>
                            <td class="CarMiniProfile-tableHeader">
                                Colour
                            </td>
                            <td>
                                BLUE
                            </td>
                        </tr>
                        <tr>
                            <td class="CarMiniProfile-tableHeader">
                                Year
                            </td>
                            <td>
                                2006
                            </td>
                        </tr>
                        <tr>
                            <td class="CarMiniProfile-tableHeader">
                                Engine Size
                            </td>
                            <td>

1910 cc

                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>

            <h3 class="CarMiniProfile-subheading">Check this car in 3 simple steps...</h3>

1 个答案:

答案 0 :(得分:0)

对于html使用正则表达式并不是一个好主意,我同意。有时我不得不用正则表达式和HTML做一些真正讨厌的东西。

如果你绝对必须这样做,那么这是MAKE的一个:

<td.*?CarMiniProfile-tableHeader.*?\n*(.*?)\n*<\/td>

您应该可以根据需要自定义此项。虽然使用正则表达式绝对不是推荐的解决方案。