网站抓取Morningstar时获取空列表

时间:2019-07-10 02:53:27

标签: python-3.x web-scraping

我正在尝试遍历不同共同基金的符号,并使用这些符号从其晨星个人资料中抓取一些信息。网址如下: 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 RatiosWeb scraping, getting empty list 这是因为页面内容是分阶段下载的。第一个链接的答案建议使用硒和chromedriver,但鉴于我对抓取感兴趣的数据量,这是不切实际的。对第二个问题的答案表明,可能有一种方法可以将更多的请求加载到内容中,但是没有说明如何表达这些请求。那么,如何将这种解决方案应用于我的案子?

编辑:如果不清楚,上面的代码将返回[]。

1 个答案:

答案 0 :(得分:0)

万一其他人到此为止:最终,我在加载所需页面时通过分析网络请求解决了我的问题。通过这些链接,可以找到包含原始页面不同部分的超简单html页面。因此,我没有从一页纸开始抓取,而是为每只基金从大约5页开始抓取。

相关问题