2013-12-12 33 views
-1

我无法从包含库存数据的网站导入数据表。我在MS Excel 2007中做过;数据>获取外部数据>从Web>导入照常,但没有网站返回。当我试图从网站抓取数据表时,它显示了一个小窗口按钮(截图),我认为该过程重定向到另一个链接;但最终结果为零。我认为该页面受脚本保护。如何使用Excel VBA从受脚本保护的站点抓取数据?

重定向按摩:“开幕:'http://www.dsebd.org/latest_share_price_all.php

请咨询我,我怎么能在我的Excel工作簿等网站下载(进口)数据。

网站原文链接:http://www.dsebd.org/latest_share_price_scroll_l.php [我想从这里下载数据]提前

感谢您的支持。

+0

我能够导入点击最左边的箭头。从Excel 2010试用它 –

+0

我已经尝试了几次与Excel 2010从'http://www.dsebd.org/latest_share_price_scroll_l.php';但其失败。 :(没有结果 – user176705

+0

是否点击了上面我提到的最左边的箭头? –

回答

0

这不是Excel的问题。 网站正在使用iframe - >并拒绝访问请求... 按F12查找网站代码。它以前是否为你工作过

+0

是的,它的工作之前,但最近它可能会添加一些页面变化,以便它现在不工作:(我寻求任何解决方案来抓住数据表请 – user176705

0

以下代码将在活动工作表的单独一行中放置每个交易代码,LTP,更改和%更改。

'打开IE浏览器,导航到兴趣和循环的网站,直到满载

Set IE = CreateObject("InternetExplorer.Application") 

With IE 
    .Visible = True 
    .navigate "http://www.dsebd.org/latest_share_price_scroll_l.php" 
    .Top = 50 
    .Left = 530 
    .Height = 400 
    .Width = 400 

Do Until Not IE.Busy And IE.readyState = 4 
    DoEvents 
Loop 

End With 

如果用F12来看看源代码,你会发现每个股票和它相关的数据括号通过标记名(在本例中为“a”)。用它来收集每只股票的数据,并将所有股票的数据放在“结果”中。浏览“结果”并将每只股票放在单独的行中。使用替换功能删除换行符,以便数据显示在1行上。

Set Results = IE.document.getElementsByTagname("table")(0).getElementsByTagname("a") 
x = Results.Length 

For y = 0 To x - 1 
    gg = Results(y).innertext 
    gg = Replace(gg, Chr(10), "", 1, -1, vbTextCompare) 
    ActiveCell = gg 
    ActiveCell.Offset(1,0).Select 
Next 
+0

感谢您的答复。请不要被激怒。编程概念以及VBA。如果您可以请您简单阐述您的解决方案,那么这对我会有所帮助。 – user176705

+0

我在原来的答案中添加了一些解释。我还注意到,如果您在网页上点击不同的舔((例如最新股价“按卷”),则可以使用此相同的技术在需要时收集其他数据(如音量)。 – ron

+0

请我需要说明,我如何使用这些代码或在我的工作表中应用?正如我之前所说的你,我在编程概念上是全新的。请不要对我生气:( – user176705

相关问题