世乱同南去,时清独北还。
大家好,我是Python进阶者。
一、前言
前几天有个粉丝找我获取基金信息,这里拿出来分享一下,感兴趣的小伙伴们,也可以积极尝试。
二、数据获取
这里我们的目标网站是某基金官网,需要抓取的数据如下图所示。
可以看到上图中基金代码那一列,有不同的数字,随机点击一个,可以进入到基金详情页,链接也非常有规律,以基金代码作为标志的。
其实这个网站倒是不难,数据什么的,都没有加密,网页上的信息,在源码中都可以直接看到。
这样就降低了抓取难度了。通过浏览器抓包的方法,可以看到具体的请求参数,而且可以看到请求参数中只有pi
在变化,而这个值恰好对应的是页面,直接构造请求参数就可以了。
代码实现过程
找到数据源之后,接下来就是代码实现了,一起来看看吧,这里给出部分关键代码。
获取股票id数据
response = requests.get(url, headers=headers, params=params, verify=False)
pattern = re.compile(r'.*?"(?P<items>.*?)".*?', re.S)
result = re.finditer(pattern, response.text)
ids = []
for item in result:
# print(item.group('items'))
gp_id = item.group('items').split(',')[0]
结果如下图所示:
之后构造详情页链接,获取详情页的基金信息,关键代码如下:
response = requests.get(url, headers=headers)
response.encoding = response.apparent_encoding
selectors = etree.HTML(response.text)
danweijingzhi1 = selectors.xpath('//dl[@class="dataItem02"]/dd[1]/span[1]/text()')[0]
danweijingzhi2 = selectors.xpath('//dl[@class="dataItem02"]/dd[1]/span[2]/text()')[0]
leijijingzhi = selectors.xpath('//dl[@class="dataItem03"]/dd[1]/span/text()')[0]
lst = selectors.xpath('//div[@class="infoOfFund"]/table//text()')
结果如下图所示:
将具体的信息做相应的字符串处理,然后保存到csv
文件中,结果如下图所示:
有了这个,你可以做进一步的统计和数据分析了。
三、总结
大家好,我是Python进阶者。这篇文章主要分享了使用Python网络爬虫获取基金数据信息,这个项目不算太难,里边稍微有点小坑,欢迎大家积极尝试,如果有遇到问题,请添加我好友,我帮助解决。
这篇文章主要是以【股票型】的分类做了抓取,其他的类型,我就没做了,欢迎大家尝试,其实逻辑都是一样的,改下参数就可以了。
小伙伴们,快快用实践一下吧!
最后:
Python学习资料
如果你想学习Python帮助你实现自动化办公,或者准备学习Python或者正在学习,下面这些你应该能用得上,有需要可以领取。
① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习
⑤历年互联网企业Python面试真题,复习时非常方便
文末有领取方式哦
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python课程视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
三、Python实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
四 Python漫画教程
用通俗易懂的漫画,来教你学习Python,让你更容易记住,并且不会枯燥乏味。
五、互联网企业面试真题
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要也可以扫描下方csdn官方二维码或者点击主页和文章下方的微信卡片获取领取方式,【保证100%免费】