您的位置:首页 >聚焦 >

手把手教你使用Python网络爬虫获取基金信息

2022-04-13 09:03:58    来源:程序员客栈
点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

世乱同南去,时清独北还。

大家好,我是Python进阶者。

一、前言

前几天有个粉丝找我获取基金信息,这里拿出来分享一下,感兴趣的小伙伴们,也可以积极尝试。

二、数据获取

这里我们的目标网站是某基金官网,需要抓取的数据如下图所示。

可以看到上图中基金代码那一列,有不同的数字,随机点击一个,可以进入到基金详情页,链接也非常有规律,以基金代码作为标志的。

其实这个网站倒是不难,数据什么的,都没有加密,网页上的信息,在源码中都可以直接看到。

这样就降低了抓取难度了。通过浏览器抓包的方法,可以看到具体的请求参数,而且可以看到请求参数中只有pi在变化,而这个值恰好对应的是页面,直接构造请求参数就可以了。

代码实现过程

找到数据源之后,接下来就是代码实现了,一起来看看吧,这里给出部分关键代码。

获取股票id数据

response=requests.get(url,headers=headers,params=params,verify=False)pattern=re.compile(r".*?"(?P.*?)".*?",re.S)result=re.finditer(pattern,response.text)ids=[]foriteminresult:#print(item.group("items"))gp_id=item.group("items").split(",")[0]

结果如下图所示:

之后构造详情页链接,获取详情页的基金信息,关键代码如下:

response=requests.get(url,headers=headers)response.encoding=response.apparent_encodingselectors=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网络爬虫获取基金数据信息,这个项目不算太难,里边稍微有点小坑,欢迎大家积极尝试,如果有遇到问题,请添加我好友,我帮助解决。

这篇文章主要是以【股票型】的分类做了抓取,其他的类型,我就没做了,欢迎大家尝试,其实逻辑都是一样的,改下参数就可以了。

最后需要本文代码的小伙伴们,可以添加我v获取!此外,方便大家学习Python,我还建立了一个Python高质量学习交流群,遇到Python问题都可以随便问,需要进来的小伙伴们,加我v,我拉你!

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何Python问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

-------------------End-------------------

往期精彩文章推荐:

盘点Python内置函数sorted()高级用法实战

手把手教你进行Python网络爬虫中的Charles+Postern抓包

Python网络爬虫之数美滑块的加密及轨迹~~动态js参数分析

盘点Python集合中一个“坑”

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群】

万水千山总是情,点个【在看】行不行

关键词: 如下图所示 网络爬虫 请求参数

相关阅读