如何使用lxml从此链接中获取历史价格?

时间:2014-01-22 08:50:48

标签: python lxml

如何使用Python lxml etree从此链接中获取资金的历史价格:

http://www.aia.com.hk/en/individual/resources-guides/investment-information/underlying-funds-historical-prices/

每个基金页面的链接类似于以下内容;但是,我不知道如何到达那里:

<a style="color:#AA231B;" href="javascript:void(0);" onclick="window.location='fund_search_content_new.jsp?fund=c04&amp;tier=sp_br&todate=&date=&name='">Aberdeen Global - Asia Pacific Equity Fund "A2"</a>

1 个答案:

答案 0 :(得分:2)

首先,您需要获取包含链接的iframe的网址:

iframeurl = yourpage.xpath("//iframe[@id='myframe']/@src")

然后使用lxml下载/解析此框架,并从此处获取您的链接:

onclicks = lxml.html.parse(iframeurl[0]).xpath("//tr/td/a/@onclick")    

如果你想要window.location=''里面的内容,我想你可以用substring / regex完成这项工作......

map(lambda _: _.split("'", 2)[1], mylistofonclicks)

如果您想知道我是如何获得这些XPath的,那么在Chrome上你可以按住Ctrl + i - &gt;右键单击节点 - &gt;复制XPath,并在控制台上使用$x("/my/path")对其进行测试。我还必须禁用JavaScript(ctrl + shift + i - &gt;设置图标 - &gt;常规 - &gt;禁用JavaScript)来阻止加载iframe时触发的自动重定向。