我正在尝试迭代不同共同基金的符号,并使用这些符号从他们的Morningstar个人资料中提取一些信息。网址如下:https://www.morningstar.com/funds/xnas/ZVGIX/quote.html在上面的例子中,ZVGIX是符号。我曾尝试使用xpath查找所需的数据,但是返回的是空列表。我使用的代码如下:
for item in symbols:
url = 'https://www.morningstar.com/funds/xnas/'+item+'/quote.html'
page = requests.get(url)
tree = html.fromstring(page.content)
totalAssets = tree.xpath('//*[@id="gr_total_asset_wrap"]/span/span/text()')
print(totalAssets)根据Blank List returned when using XPath with Morningstar Key Ratios和Web scraping, getting empty list的说法,这是由于页面内容是分阶段下载的。第一个链接的答案建议使用selenium和chromedriver,但考虑到我对抓取的数据量感兴趣,这是不切实际的。对第二个问题的回答表明,可能有一种方法可以用进一步的请求加载内容,但它没有解释如何制定这些请求。那么,我如何将该解决方案应用到我的案例中?
编辑:上面的代码返回[],如果不清楚的话。
发布于 2019-07-16 04:12:27
最后,我通过分析加载所需页面时的网络请求解决了我的问题。通过这些链接,就可以得到包含原始页面不同部分的超级简单的html页面。因此,我没有从1页中抓取,而是从每个基金的大约5页中进行了抓取。
https://stackoverflow.com/questions/56962800
复制相似问题