文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何实现Python抓取数据到可视化全流程的实现

2023-06-26 04:19

关注

本篇文章为大家展示了如何实现Python抓取数据到可视化全流程的实现,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1、爬取目标网站:业绩预告_数据中心_同花顺财经

(ps:headers不会设置的可以看这篇:Python 用requests.get获取网页内容为空 ’ ’)

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport reimport requests##把各种可能用到的包提前导好headers={   'Accept': 'text/html,*/*; q=0.01',    'hexin-v': 'A2C11EVPFXAhNKl0PUpM6xp8MWU2aUUO5k-YOdpwLngMrQpTgnkUwzZdaMMp',    'Referer': 'http://data.10jqka.com.cn/financial/yjyg/',   'Cookie':'对应填写',    'User-Agent':'对应填写'}url="http://data.10jqka.com.cn/ajax/yjyg/date/2021-12-31/board/ALL/field/enddate/order/desc/page/{}/ajax/1/free/1/"result = '' for i in range(1,5):     result += requests.get(url.format(i), headers=headers).textresult

 爬取成功,检查数据:

如何实现Python抓取数据到可视化全流程的实现

2、获取序号、股票代码、等你所需要的信息

index = re.findall('<td>(.*)</td>',result)index

如何实现Python抓取数据到可视化全流程的实现

 148条数据符合预期,继续查看股票代码(这里使用正则表达式查询,可以看这篇里边对正则表达式进行了讲解:正则表达式+常用示例)

stock_code = re.findall('class="stockCode">(.*)</a>',result)print(stock_code)

如何实现Python抓取数据到可视化全流程的实现

3、组成DataFrame

data = pd.DataFrame({    "stock_code":stock_code,    "stock_name":stock_name,    "performance":performance,    "summary":summary}, index=index) data

如何实现Python抓取数据到可视化全流程的实现

 组合成功

4、处理数据

使用正则筛选出净利润和增长幅度

data['start_profit'] = data['summary'].str.extract('(-{0,1}\d{0,10}\.{0,1}\d{0,10})万元')data['end_profit'] = data['summary'].str.extract('至(-{0,1}\d{0,10}\.{0,1}\d{0,10})万元')data["start_range"] = data['summary'].str.extract('(\d{0,5}\.{0,1}\d{0,5})%') + "%"data["end_range"] = data['summary'].str.extract('至(\d{0,5}\.{0,1}\d{0,5})%') + "%"data.head()

判断盈利情况:

 def if_profit(x):    if x in ['业绩预降', '业绩大幅上升', '业绩大幅下降', '业绩预盈', '业绩预增', '预计扭亏']:        return 1    if x in ['预计减亏', '不确定','业绩预亏', '预计增亏', '预计续亏']:        return -1    return 0data['is_profit'] = data.apply(lambda x : if_profit(x["performance"]),axis=1)data.head()##计算盈利多少yingli = (data['is_profit'] == 1).sum()yingli##亏损多少kuisun = (data['is_profit'] == -1).sum()kuisun

通过绘制饼图实现可视化:

plt.pie([yingli,kuisun], labels=['盈利','亏损'], autopct='%.2f%%')font={    "family":"kaiti",    "size":"15"}plt.rc("font",**font)plt.title('148家公司盈利和亏损情况占比')plt.show()

如何实现Python抓取数据到可视化全流程的实现

上述内容就是如何实现Python抓取数据到可视化全流程的实现,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯