【问题标题】:Using Reg expressions to search through HTML? [swift 1.2]使用正则表达式搜索 HTML? [迅捷1.2]
【发布时间】:2015-11-30 14:31:09
【问题描述】:

我正在尝试执行屏幕抓取,因为我找不到相关的免费 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 毫升

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

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

【问题讨论】:

标签: html ios regex xcode swift


【解决方案1】:

对 html 使用正则表达式不是一个好主意,我同意。有时我不得不用正则表达式和 html 做一些真正令人讨厌的事情。

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

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

您应该能够针对您需要的所有其他内容进行自定义。不过,使用正则表达式绝对不是推荐的解决方案。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-02
  • 1970-01-01
  • 2021-11-30
  • 2011-05-20
  • 2011-09-02
  • 1970-01-01
相关资源
最近更新 更多