如何使用Python lxml etree从此链接中获取资金的历史价格:
每个基金页面的链接类似于以下内容;但是,我不知道如何到达那里:
<a style="color:#AA231B;" href="javascript:void(0);" onclick="window.location='fund_search_content_new.jsp?fund=c04&tier=sp_br&todate=&date=&name='">Aberdeen Global - Asia Pacific Equity Fund "A2"</a>
答案 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时触发的自动重定向。