从网络delphi中提取信息的最佳方法

Gab*_*Gab 4 delphi parsing information-extraction html-content-extraction

我想知道是否有更好的方法从网页中提取信息,而不是解析我正在搜索的HTML.即:从'imdb.com'中提取电影评级

我目前正在使用IndyHttp组件来获取页面,我正在使用strUtils来解析文本,但内容有限.

Cos*_*und 7

我发现简单的正则表达式在处理好的网站时非常直观和简单,而且IMDB是一个很好的网站.

例如,IMDB的影片HTML页面上的电影分级是在<DIV>class="star-box-giga-star".使用正则表达式提取非常容易.以下正则表达式将从原始HTML提取电影评级到捕获组1:

star-box-giga-star[^>]*>([^<]*)<
Run Code Online (Sandbox Code Playgroud)

它不漂亮,但它确实起作用.正则表达式寻找"star-box-giga-star"类id,然后它查找>终止它DIV,然后捕获所有内容,直到下面<.要创建这样的新正则表达式,您应该使用允许检查元素的Web浏览器(例如Crome或Opera).使用Chrome,您只需查看网页,右键单击要捕获和执行的元素Inspect element,然后四处查找可用于创建良好正则表达式的易于识别的元素.在这种情况下,"star-box-giga-star"班级显然很容易识别!在好的网站上找到这样的可识别元素通常没有问题,因为好的网站使用CSS和CSS要求ID's或class'es'能够正确地设置元素的样式.