不确定我试图实现的目标是否可行,但我想我会问一下。我有一个相当大的电子表格,里面有数百种不同智能手机的规格,我正在研究这些规格,这是我自己和我参与的一个技术论坛的一个小项目。我的其中一栏是来自 GSMarena.com 的“粉丝数量”,用于量化设备的受欢迎程度和兴趣。(左边的另外两栏是“PhoneArena 员工评分”和“PhoneArena 用户评分”。)
目前,我所做的只是手动输入数量,但由于手机数量太多,而且数字变化频繁,这可能会变得很繁琐。我想知道是否有任何方法可以自动从 x 手机网页的源数据中提取“粉丝数”数字?
显然,我无法让它搜索每部手机,但如果我至少可以输入每部手机的源信息,然后让号码自行更新,那就足够了。
答案1
这是一个很好的例子,可以帮助您入门。正如我在评论中所说,您需要使用 VBA 来实现您想要的效果。基本方法是使用 VBA 启动 Internet Explorer,然后返回 html 代码。从该代码中,您需要筛选文本以找到您的号码所在的位置。
下面是返回页面 html 的方法:
Sub getData()
Dim url As String
Dim ie As Object
Dim state As Integer
Dim text As Variant
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = 0
url = "http://www.eoddata.com/stockquote/NASDAQ/AAPL.htm"
ie.Navigate url
state = 0
Do Until state = 4
DoEvents
state = ie.readyState
Loop
text = ie.Document.Body.innerHTML
End Sub
显然,您会将 URL 更改为您的网站的 URL。设置完成后,末尾的变量文本将包含 HTML,因此可以使用任何您想要的创造性方法来处理该代码。您将需要了解如何使用 MID、FIND 和 TRIM 命令。
希望这至少能让你开始