前言:
听说你想要变富?那就沉住气慢慢来吧,没听过这句名言么:“穷人总是不想慢慢的变富”。都想着一夜暴富,中个彩票啥的,可哪有那么幸运呢?总不能像我一样中了78万的彩票,然后自己偷偷的花吧。
正文
本文就是利用python对某一财经网站的基金进行了爬取,爬取了5000+个基金所持有的股票,并进行了处理。
"""
当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢?
学习Python中有不明白推荐加入交流Q群号:928946953
群里有志同道合的小伙伴,互帮互助, 群里有不错的视频学习教程和PDF!
还有大牛解答!
"""
前阵因为爬取数据导致整个公司被抓的案例有不少,所以在此说明:拒绝利用爬虫进行违法的行为,坚决爱国爱民,做好事不留名,多扶老奶奶过马路,希望警察叔叔不要因为这篇爬虫文章把me带走。
本文涉及到的知识点:
1、python字符串:分割、拼接、中文字符判断;
2、python正则表达式;
3、爬虫requests请求库、xpath获取数据、代{过}{滤}理服务器;
4、selenium用法:无头浏览器、元素定位、显式等待、数据获取;
5、python操作mongodb
网站分析
代码和数据我们到后面再贴上,先来分析下目标网站,这样有利于我们爬取过程更加清晰;
目标网站:
http://fund.eastmoney.com/data/fundranking.html#tall;c0;r;szzf;pn50;ddesc;qsd20181126;qed20191126;qdii;zq;gg;gzbd;gzfs;bbzt;sfbb
我们爬取的就是【开放式基金】里的数据:
我们随便点开一个基金,就可以进入其详情页面,不知道你发现没有,该基金详情页面的url
就是首页该基金的基金代码和
http://fund.eastmoney.com/的一个组合,比如:
040011 --- 华安核心优选混合的url:
http://fund.eastmoney.com/040011.html
005660 --- 嘉实资源精选股票A的url:
http://fund.eastmoney.com/005660.html
ok,好,我们在基金详情页面往下拉就可以找到该基金的股票持仓信息,,也就是该基金买了哪些股票:
然后点击 更多 进入该基金持股的详情页,往下拉就会看到,该基金三个季度的股票持仓信息:
对,这就是目标数据,要爬取的数据;
ok,我们先不爬取,再分析这个基金持仓的详情页,这个url也是有规律的,它是用
http://fundf10.eastmoney.com/ccmx_ 和该基金的基金代码组合成的,比如:
005660 ,嘉实资源精选股票A 的持仓详情页面url:
http://fundf10.eastmoney.com/ccmx_005660.html
006921,南方智诚混合 的持仓详情页面url:
http://fundf10.eastmoney.com/ccmx_006921.html
因为这些数据