Python抓取數(shù)據(jù)到可視化全流程的實(shí)現(xiàn)過程
1、爬取目標(biāo)網(wǎng)站:業(yè)績預(yù)告_數(shù)據(jù)中心_同花順財(cái)經(jīng)
(ps:headers不會設(shè)置的可以看這篇:Python 用requests.get獲取網(wǎng)頁內(nèi)容為空 ’ ’)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import re
import requests##把各種可能用到的包提前導(dǎo)好
headers={
? ?'Accept': 'text/html,*/*; q=0.01',
? ? 'hexin-v': 'A2C11EVPFXAhNKl0PUpM6xp8MWU2aUUO5k-YOdpwLngMrQpTgnkUwzZdaMMp',
? ? 'Referer': 'http://data.10jqka.com.cn/financial/yjyg/',
? ?'Cookie':'對應(yīng)填寫',
? ? 'User-Agent':'對應(yīng)填寫'
}
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爬取成功,檢查數(shù)據(jù):

2、獲取序號、股票代碼、等你所需要的信息
index = re.findall('<td>(.*)</td>',result)
index
148條數(shù)據(jù)符合預(yù)期,繼續(xù)查看股票代碼(這里使用正則表達(dá)式查詢,可以看這篇里邊對正則表達(dá)式進(jìn)行了講解:正則表達(dá)式+常用示例)
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、處理數(shù)據(jù)
使用正則篩選出凈利潤和增長幅度
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 ['業(yè)績預(yù)降', '業(yè)績大幅上升', '業(yè)績大幅下降', '業(yè)績預(yù)盈', '業(yè)績預(yù)增', '預(yù)計(jì)扭虧']: ? ? ? ? return 1 ? ? if x in ['預(yù)計(jì)減虧', '不確定','業(yè)績預(yù)虧', '預(yù)計(jì)增虧', '預(yù)計(jì)續(xù)虧']: ? ? ? ? return -1 ? ? return 0 data['is_profit'] = data.apply(lambda x : if_profit(x["performance"]),axis=1) data.head() ##計(jì)算盈利多少 yingli = (data['is_profit'] == 1).sum() yingli ##虧損多少 kuisun = (data['is_profit'] == -1).sum() kuisun
通過繪制餅圖實(shí)現(xiàn)可視化:
plt.pie([yingli,kuisun], labels=['盈利','虧損'], autopct='%.2f%%')
font={
? ? "family":"kaiti",
? ? "size":"15"
}
plt.rc("font",**font)
plt.title('148家公司盈利和虧損情況占比')
plt.show()
到此這篇關(guān)于Python抓取數(shù)據(jù)到可視化全流程的實(shí)現(xiàn)過程的文章就介紹到這了,更多相關(guān)Python抓取數(shù)據(jù)到可視化 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Python輕松實(shí)現(xiàn)視頻轉(zhuǎn)GIF動圖
在看視頻的時候覺得某段非常有意思想弄成動圖,但是無從下手!本文就將介紹如何利用Python搞定這一需求,感興趣的小伙伴可以學(xué)習(xí)一下2022-01-01
基于python使用Pillow做動態(tài)圖在圖中生成二維碼以及圖像處理
這篇文章主要介紹了基于python使用Pillow做動態(tài)圖在圖中生成二維碼以及圖像處理,分享pillow的一些簡單使用,喜歡的話大家可以參考文章內(nèi)容下去試試奧2022-02-02
手把手教你將Flask應(yīng)用封裝成Docker服務(wù)的實(shí)現(xiàn)
這篇文章主要介紹了手把手教你將Flask應(yīng)用封裝成Docker服務(wù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Python環(huán)境的安裝以及PyCharm編輯器配置教程詳解
優(yōu)質(zhì)的教程可以讓我們少走很多彎路,這一點(diǎn)毋庸置疑。這篇文章主要為大家介紹了純凈Python環(huán)境的安裝以及PyCharm編輯器的配置,需要的可以參考一下2023-04-04
對python中 math模塊下 atan 和 atan2的區(qū)別詳解
今天小編就為大家分享一篇對python中 math模塊下 atan 和 atan2的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
使用Keras中的ImageDataGenerator進(jìn)行批次讀圖方式
這篇文章主要介紹了使用Keras中的ImageDataGenerator進(jìn)行批次讀圖方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

