本篇文章為大家展示了Python怎么爬蟲股票數據,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
中國A股2019年開年市場火爆,隨著股市大漲,滬市指數逼近3000點大關,三大股指均創下本輪反彈新高,股市單日成交過萬億,許多人跑步進入股市。
要想在股市中獲得收益,對股票數據進行分析非常重要,要進行數據分析必須有數據,然而數據收集是很費時費力的事情,有些網站中會有我們需要的數據,如果能把這些數據下載到電腦中,對后面使用機器學習算法處理非常有用。例如下圖是某一日的股票行情信息:

如果想得到上面表格中的數據,可以使用網絡爬蟲實現。網絡爬蟲,又被稱為網頁蜘蛛,網絡機器人,有時也稱為網頁追逐者,是一種按照一定的規則,自動地抓取互聯網上網頁中相應信息(文本、圖片等)的程序或者腳本,然后把抓取的信息存儲到自己的計算機上。
程序主要由三部分組成:網頁源碼的獲取、刪除冗余的內容和標簽和結果的顯示。
實現步驟如下:
1、網頁源碼的獲取
url='http://quote.stockstar.com/stock/ranklist_a_3_1_1.html' #目標網址
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64)"}
#偽裝瀏覽器請求報頭
request=urllib.request.Request(url=url,headers=headers) #請求服務器
response=urllib.request.urlopen(request) #服務器應答
content=response.read().decode('gbk') #以一定的編碼方式查看源碼
for page in range(1,8):
url='http://quote.stockstar.com/stock/ranklist_a_3_1_'+str(page)+'.html'
request=urllib.request.Request(url=url,headers={"User-Agent":random.choice(user_agent)}) #隨機從user_agent列表中抽取一個元素
content=response.read().decode('gbk') #讀取網頁內容2、刪除冗余的內容
獲取網頁源碼后,就可以從中提取我們所需要的數據了。如前所述,提取的網頁內容中有很多html的標簽,空格等內容,此時需要從源碼刪除這些信息,這里仍然使用正則表達式,代碼如下:
pattern=re.compile('<tbody[\s\S]*</tbody>')
body=re.findall(pattern,str(content))
pattern=re.compile('>(.*?)<')
stock_page=re.findall(pattern,body[0]) #正則匹配
stock_total.extend(stock_page)
time.sleep(random.randrange(1,4))3、結果的顯示
print('代碼','\t','簡稱',' ','\t','最新價','\t','漲跌幅','\t','漲跌額','\t','5分鐘漲幅')
for i in range(0,len(stock_last),13): #網頁總共有13列數據
print(stock_last[i],'\t',stock_last[i+1],' ','\t',stock_last[i+2],' ','\t',stock_last[i+3],' ','\t',stock_last[i+4],' ','\t',stock_last[i+5])下圖是使用爬蟲獲取的數據。

有了上面數據之后,我們就可以使用機器學習算法,自己編制程序進行預測了。
上述內容就是Python怎么爬蟲股票數據,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。