如何从800多个下载的HTML文件中提取特定数据

时间:2014-07-10 14:17:50

标签: html excel

我从客户网站上下载了大约800页。我想从这些页面中获取三条信息,并将它们全部列在一个Excel文档中。这可能吗?

我需要从每个页面获取的数据(我已经包含了一些关于代码在客户端网站上的位置的信息):

车库名称(这是页面元标题)

<html class="__ff"> <head> <title>Garage Name Here</title>

车库电话号码(这是一个div)

<div class="box_area_body"> <p class="dealer_number"> <a href="tel: phone number">phone number</a>

汽车数量

<span data-bind="text: $root.SearchData.Pagination.TotalRecords()">number of cars here</span>

这可能吗?值得一提的是,在涉及到这样的事情时,我的知识是有限的!

1 个答案:

答案 0 :(得分:0)

你可以使用类似的东西:

Dim FName As String
Dim Str, Tmp As String
Dim i, e As Long

i = 1
Range("A1:D6").Clear
FName = Dir("e:\0\*.htm*")
Do While FName <> ""
    Open "e:\0\" & FName For Input As #1
        Do While Not EOF(1)
            Line Input #1, Str
            e = InStr(1, Str, "<title>", vbTextCompare)
            If (e > 0) Then
                Tmp = Mid(Str, e + 7, InStr(1, Str, "</title>", vbTextCompare) - e - 7)
                ActiveSheet.Cells(i, 1).Value = FName
                ActiveSheet.Cells(i, 2).Value = Tmp
            End If
            e = InStr(1, Str, "phone number"">", vbTextCompare)
            If (e > 0) Then
                Tmp = Mid(Str, e + 14, InStr(1, Str, "</a>", vbTextCompare) - e - 14)
                ActiveSheet.Cells(i, 3).Value = Tmp
            End If
            e = InStr(1, Str, ".TotalRecords()"">", vbTextCompare)
            If (e > 0) Then
                Tmp = Mid(Str, e + 17, InStr(1, Str, "</span>", vbTextCompare) - e - 17)
                ActiveSheet.Cells(i, 4).Value = Tmp
                i = i + 1
            End If
        Loop
    Close #1
    FName = Dir
Loop

Sub读取目录中的所有文件Htm或Html,提取(以基本或格式)数据并放入活动表中...