HTML。您可以指定的其他可能的假设。解决方案应尽可能抵抗被刮取页面结构的变化。还要指定哪些语言是可接受的,哪些.NET/COM组件是可接受的?解析HTML通常不是一个坏主意,尝试使用正则表达式是一个坏主意。COM组件可以从Win32应用程序接受,如果它们
HTML。您可以指定的其他可能的假设。解决方案应尽可能抵抗被刮取页面结构的变化。还要指定哪些语言是可接受的,哪些.NET/COM组件是可接受的?解析HTML通常不是一个坏主意,尝试使用正则表达式是一个坏主意。COM组件可以从Win32应用程序接受,如果它们,html,windows,regex,winapi,screen-scraping,Html,Windows,Regex,Winapi,Screen Scraping,HTML。您可以指定的其他可能的假设。解决方案应尽可能抵抗被刮取页面结构的变化。还要指定哪些语言是可接受的,哪些.NET/COM组件是可接受的?解析HTML通常不是一个坏主意,尝试使用正则表达式是一个坏主意。COM组件可以从Win32应用程序接受,如果它们已经在受支持的Microsoft Windows操作系统上注册,则最好是这样。NET组件只有在具有COM可调用包装器(CCW)的情况下才能从本机Win32调用,这取决于库。您应该考虑到检索网页的时间总是比C++中的高级语言解析的时间长。您非常幸
HTML。您可以指定的其他可能的假设。解决方案应尽可能抵抗被刮取页面结构的变化。还要指定哪些语言是可接受的,哪些.NET/COM组件是可接受的?解析HTML通常不是一个坏主意,尝试使用正则表达式是一个坏主意。COM组件可以从Win32应用程序接受,如果它们已经在受支持的Microsoft Windows操作系统上注册,则最好是这样。NET组件只有在具有COM可调用包装器(CCW)的情况下才能从本机Win32调用,这取决于库。您应该考虑到检索网页的时间总是比C++中的高级语言解析的时间长。您非常幸运,页面的作者以一种反映内容而不是演示的方式来命名div是如此的好。即使有您的限制,这也会使问题的数量级变得更容易。特别是对于lxml来说,+1——在这个应用程序中取得了巨大的成功。在Ruby方面,还有ScrAPI:任何可以在本机Win32应用程序中使用的应用程序?我写的是相同的-只有在使用时加上前缀“您没有指定您选择的开发工具。。。但是,您已经指定了windows,因此如果您使用.NET,则:“我没有指定编译器,但指定了本机Win32。让我们假设它是C++。我以前使用了iHTMLDopeTun2。我还有一个对象的源代码,可以解析无效的HTML并将其转换为DOM。那么,关于如何遍历DOM树和重复结构,有什么想法吗?@Ian,关键是IHtmlDocument2将能够处理原始的HTML。遍历DOM就像调用
all
和处理元素一样简单(DOM是分层的)。这并不有趣,但如果你想保持本土,这是一个“简单”的解决方案。旧式的刮擦。如果您正在这样做,您最好使用regex。这是IHtmlDocument2
-除非您不必通过旋转渲染器浪费资源。如果您可以发布一些代码,这将大大有助于我理解样式表转换的帮助。
<div class="used_result_container">
...
...
<div class="vehicleInfo">
...
...
<div class="makemodeltrim">
...
<a class="carlink" href="[Url]">[MakeAndModel]</a>
...
</div>
<div class="kilometers">[Kilometers]</div>
<div class="price">[Price]</div>
<div class="location">
<span class='locationText'>Location:</span>[Location]
</div>
...
...
</div>
...
...
</div>
...and it repeats
\\div[@class="used_result_container" && .\div[@class="vehicleInfo"]]\*
Set dom = CreateObject("htmlfile")
dom.write("<div>Click for <img src='http://www.google.com/images/srpr/logo1w.png'>Google</a></div>")
WScript.Echo(dom.Images.item(0).src)