尝试阅读定价信息标签下的定价清单:
urlread( ' http://www.cefconnect.com/Details/Summary.aspx?Ticker=KYE#pricing ' )
但是在url' #price'没有帮助。
有什么建议吗?
答案 0 :(得分:1)
正如Darin已经指出的那样,将#pricing
添加到URL是没有用的。该网页使用客户端技术在标签之间切换;不是urlread
可以使用的东西。
Summary.aspx
始终将所有标签一起作为一个大页面返回。当在Web浏览器中打开时,CSS和JavaScript使其看起来像一样的选项卡集合。
使用Web浏览器的开发人员工具栏检查网页。例如,在Google Chrome中,只需右键单击您感兴趣的部分,然后选择“检查元素”。
我不知道你要对urlread
的结果做什么,但你可能需要做一些解析来从HTML杂乱中提取所需的信息。
请注意Summary.aspx
启动其他HTTP请求以检索其他数据。使用Chrome开发者工具栏的“网络”标签分析该行为。例如,在调整定价历史记录过滤条件后单击“开始”时会发出以下请求。
起初,这似乎使整个问题复杂化,但实际上这可能是一个很好的机会。您可以使用上面的URL调用urlread
,并获取一些JSON格式的数据,这比HTML更简洁。调整参数以获得不同的数据。我不确定48660P104
是什么;它可能是KYE的内部代表。您可能希望使用对Summary.aspx的初始HTTP请求来检索该代码;您会注意到网页上堆满了包含相同参数Cusip
的网址。
答案 1 :(得分:0)
#
字符在网址中具有特殊含义。它代表fragment identifier
,其后面的值永远不会发送到服务器。只有客户端javascript才能访问它。如果要将值发送到服务器,则需要url encode
值:
urlread( ' http://www.cefconnect.com/Details/Summary.aspx?Ticker=KYE%23pricing ' )
对于其他特殊角色也是如此。你需要正确编码它们。