Excel VBA - 在网站的html中搜索字符并返回标题

时间:2015-02-20 18:03:33

标签: html excel vba excel-vba

我正试图从一个网站上抓取数据,这些数据可能会使他们的数据结构有点不规则

感兴趣的HTML是

<a href='https://website.com/id=2021'>SampleText 
<img src='https://website.com/img/sample.jpg'   
class='tinyflag'></a>
<br />SampleName 
</td>
<td style='text-align:center;'>
    01/01/2015 <span style='color: #FFFF00;' 
     title='Active in last 24 hours'>&#9670;</span>

我想要做的是搜索字符(字符串?)“&amp;#9670”,它在网页上显示为菱形并返回其标题。在这个例子中,它将是“过去24小时内活跃”的文本

我在Excel中执行此操作并可以导航到正确的页面,但我无法弄清楚如何引用标题或&amp;#9670以返回所需的文本

1 个答案:

答案 0 :(得分:0)

如果您在A1单元格中有样本数据,则可以使用以下代码替换不需要的部分:

Range("A1").Replace "*title=", "", xlPart
Range("A1").Replace ">&#9670*", "", xlPart

如果您想提取标题并保持原始数据不变:

Dim iStart As Integer, iEnd As Integer
Dim title As String

iStart = InStr(1, Range("a1").Value2, "title=") + 6 '6-length of the pattern
iEnd = InStr(1, Range("a1").Value2, ">&#9670")

title = Mid(Range("a1").Value2, iStart, iEnd - iStart) 

只有一个样本行,因此很难判断它是否适用于所有情况。