Excel 从HTML标记内的文件中删除文本
我有一个文件,我想从中提取日期,它是一个HTML源文件,所以它充满了我不需要的代码和短语。我需要提取包装在特定HTML标记中的日期的每个实例: 缩写title=“(这是我需要的文本))“数据utime=”Excel 从HTML标记内的文件中删除文本,excel,web-scraping,extract,analysis,text-extraction,Excel,Web Scraping,Extract,Analysis,Text Extraction,我有一个文件,我想从中提取日期,它是一个HTML源文件,所以它充满了我不需要的代码和短语。我需要提取包装在特定HTML标记中的日期的每个实例: 缩写title=“(这是我需要的文本))“数据utime=” 实现这一点最简单的方法是什么?如果您使用的是Java,您可以使用。您的问题不清楚这一点,请详细说明如果您使用的是Java,您到底想做什么。如果您使用的是Excel VBA,请详细说明您到底想做什么MSHTML库的参考(工具-参考)(参考菜单中标题为Microsoft HTML对象库) 我假设这
实现这一点最简单的方法是什么?如果您使用的是Java,您可以使用。您的问题不清楚这一点,请详细说明如果您使用的是Java,您到底想做什么。如果您使用的是Excel VBA,请详细说明您到底想做什么MSHTML库的参考(工具-参考)(参考菜单中标题为
Microsoft HTML对象库
)
我假设这个文件是本地的,因为你调用了一个源文件。如果你需要先下载它,你需要另一个对MSXML和这段代码的引用
Sub ScrapeDateAbbrDownload()
Dim xHttp As MSXML2.XMLHTTP
Dim hDoc As MSHTML.HTMLDocument
Dim hElem As MSHTML.HTMLGenericElement
Set xHttp = New MSXML2.XMLHTTP
xHttp.Open "GET", "file:///C:/Users/dick/Documents/My%20Dropbox/Excel/Testabbr.html"
xHttp.send
Do
DoEvents
Loop Until xHttp.readyState = 4
'put into an htmldocument object
Set hDoc = New MSHTML.HTMLDocument
hDoc.body.innerHTML = xHttp.responseText
'loop through abbr tags
For Each hElem In hDoc.getElementsByTagName("abbr")
'only those that have a data-utime attribute
If Len(hElem.getAttribute("data-utime")) > 0 Then
'get the title attribute
Debug.Print hElem.getAttribute("title")
End If
Next hElem
End Sub
如果您使用的是Excel VBA,请设置对MSHTML库的引用(工具-引用)(在“引用”菜单中标题为“Microsoft HTML对象库”) 我假设这个文件是本地的,因为你调用了一个源文件。如果你需要先下载它,你需要另一个对MSXML和这段代码的引用
Sub ScrapeDateAbbrDownload()
Dim xHttp As MSXML2.XMLHTTP
Dim hDoc As MSHTML.HTMLDocument
Dim hElem As MSHTML.HTMLGenericElement
Set xHttp = New MSXML2.XMLHTTP
xHttp.Open "GET", "file:///C:/Users/dick/Documents/My%20Dropbox/Excel/Testabbr.html"
xHttp.send
Do
DoEvents
Loop Until xHttp.readyState = 4
'put into an htmldocument object
Set hDoc = New MSHTML.HTMLDocument
hDoc.body.innerHTML = xHttp.responseText
'loop through abbr tags
For Each hElem In hDoc.getElementsByTagName("abbr")
'only those that have a data-utime attribute
If Len(hElem.getAttribute("data-utime")) > 0 Then
'get the title attribute
Debug.Print hElem.getAttribute("title")
End If
Next hElem
End Sub
因此,基本上我有一个15mb的文件,它是从保存的网页中提取的。该网页包含facebook消息,每条消息都有日期戳,我想对每个日期的消息进行分析,所以每次出现日期时我都需要提取。希望这样可以清除它。如果编程语言不重要,那么我当然会推荐JSoupOr Beautify如果你喜欢python,请点击。因此,基本上我有一个15mb的文件,它是从保存的网页中提取的。该网页包含facebook消息,每条消息都有日期戳,我想对每个日期的消息进行分析,所以我需要在每次出现日期时提取消息。希望这样可以清除它。如果编程语言不重要,那么我可以确定如果您喜欢python,请推荐JSoup或BeautifulSoup。这不是数据挖掘。请重新命名并重新标记为。数据挖掘本质上是一种大规模统计分析;这最多是数据挖掘的预处理。哦,为什么要标记为“excel”“?这不是数据挖掘。重新命名并重新标记为。数据挖掘本质上是一种大规模统计分析;这至多是数据挖掘的预处理。哦,为什么这个标签是“excel”?