我正在尝试遍历不同共同基金的符号,并使用这些符号从其晨星个人资料中抓取一些信息。网址如下: 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 这是因为页面内容是分阶段下载的。第一个链接的答案建议使用硒和chromedriver,但鉴于我对抓取感兴趣的数据量,这是不切实际的。对第二个问题的答案表明,可能有一种方法可以将更多的请求加载到内容中,但是没有说明如何表达这些请求。那么,如何将这种解决方案应用于我的案子?
编辑:如果不清楚,上面的代码将返回[]。
答案 0 :(得分:0)
万一其他人到此为止:最终,我在加载所需页面时通过分析网络请求解决了我的问题。通过这些链接,可以找到包含原始页面不同部分的超简单html页面。因此,我没有从一页纸开始抓取,而是为每只基金从大约5页开始抓取。