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