日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python爬虫-抓取数据到可视化全流程的实现

發布時間:2023/12/31 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python爬虫-抓取数据到可视化全流程的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?(ps:我也是在學習的過程中,歡迎各位小伙伴跟我一起交流,一起學習)

1、爬取目標網站:業績預告_數據中心_同花順財經

(ps:headers不會設置的可以看這篇:Python——爬蟲 用requests.get獲取網頁內容為空 ’ ’_你隔壁的小王的博客-CSDN博客)

import pandas as pd import numpy as np import matplotlib.pyplot as plt import re import 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).text result

?爬取成功,檢查數據

?2、獲取序號、股票代碼、等你所需要的信息

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

?148條數據符合預期,繼續查看股票代碼(這里使用正則表達式查詢,可以看這篇里邊對正則表達式進行了講解:正則表達式+常用示例_你隔壁的小王的博客-CSDN博客)

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

?3、組成DataFrame

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

?組合成功

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 1if x in ['預計減虧', '不確定','業績預虧', '預計增虧', '預計續虧']:return -1return 0 data['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爬虫-抓取数据到可视化全流程的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。