如何使用 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>
最佳答案
首先您需要获取包含链接的 iframe 的 url:
iframeurl = yourpage.xpath("//iframe[@id='myframe']/@src")
然后使用 lxml 下载/解析此框架,并从此处获取链接:
onclicks = lxml.html.parse(iframeurl[0]).xpath("//tr/td/a/@onclick")
如果你想要里面的东西window.location=''
,我想你可以用子字符串/正则表达式完成这项工作...
map(lambda _: _.split("'", 2)[1], mylistofonclicks)
如果您想知道我是如何获得这些 XPath 的,在 Chrome 上您可以 ctrl+shift+i -> 右键单击节点 -> 复制 XPath,然后使用 $x("/my/path")
测试它们在控制台上。我还必须禁用 JavaScript(ctrl+shift+i -> 设置图标 -> 常规 -> 禁用 JavaScript)以阻止加载 iframe 时触发的自动重定向。
关于python - 如何使用 lxml 从此链接中抓取历史价格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21278144/