中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python利用re,bs4,requests模塊獲取股票數據

發布時間:2020-10-14 20:26:59 來源:腳本之家 閱讀:166 作者:baagee 欄目:開發技術

今天閑來無聊無意間看到了百度股票,就想著用python爬一下數據,于是就找到了東方財經網,結合這兩個網站,寫了一個小爬蟲,數據保存在文件中,比較簡單的示例,就當做用來練習正則表達式和BeautifulSoupl了。

首先頁面分析,打開東方財經網股票列表頁,

python利用re,bs4,requests模塊獲取股票數據

和百度股票詳情頁 ,右鍵查看網頁源代碼,

python利用re,bs4,requests模塊獲取股票數據

網址后面的代碼就是股票代碼,所以打算先獲取股票代碼,然后獲取詳情,廢話少說,直接上代碼吧:

import re
import requests
from bs4 import BeautifulSoup

#獲取html
def getHtml(url):
	try:
		req=requests.get(url)
		req.raise_for_status()
		req.encoding=req.apparent_encoding
		return req.text
	except :
		print('getHtml失敗')

#獲取股票代碼
def getStockList(lst,stockUrl):
	html=getHtml(stockUrl)
	soup=BeautifulSoup(html,'html.parser')
	a=soup.find_all('a')
	for i in a:
		try:
			href=i.attrs['href']
			lst.append(re.findall(r'[s][hz]\d{6}',href)[0])
		except:
			continue

#獲取股票詳情
def getStockInfo(lst,stockUrl,fpath):
	count=0
	for stock in lst:
		url=stockUrl+stock+'.html'
		html=getHtml(url)
		try:
			if html=='':
				continue
			infoDict={}
			soup=BeautifulSoup(html,'html.parser')
			stockInfo=soup.find('div',attrs={'class':'stock-bets'})
			name=stockInfo.find_all(attrs={'class':'bets-name'})[0]
			infoDict.update({'股票名稱':name.text.split()[0]})
			keyList=stockInfo.find_all('dt')
			valueList=stockInfo.find_all('dd')
			for i in range(len(keyList)):
				key=keyList[i].text
				val=valueList[i].text
				infoDict[key]=val
			with open(fpath,'a',encoding='utf-8') as f:
				f.write(str(infoDict)+'\n')
				count+=1
				print('\r當前速度:{:.2f}%'.format(count*100/len(lst)),end='')
		except:
			count+=1
			print('\r當前速度e:{:.2f}%'.format(count*100/len(lst)),end='')
			continue


def main():
	stockListUrl='http://quote.eastmoney.com/stocklist.html'
	stockInfotUrl='https://gupiao.baidu.com/stock/'
	outPutFile='D:\python\shuju\stockInfo.txt'
	slist=[]
	getStockList(slist,stockListUrl)
	getStockInfo(slist,stockInfotUrl,outPutFile)

main()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永德县| 华宁县| 白沙| 安丘市| 杂多县| 锦州市| 炎陵县| 华宁县| 美姑县| 巴南区| 化德县| 钦州市| 沅陵县| 门源| 廊坊市| 汉寿县| 金寨县| 都匀市| 扶余县| 剑河县| 江城| 蒙城县| 桂阳县| 苍溪县| 泸水县| 宝山区| 永定县| 大渡口区| 揭东县| 永仁县| 仪陇县| 邻水| 禹州市| 新巴尔虎右旗| 合水县| 若尔盖县| 双峰县| 香港| 景东| 邵阳县| 绿春县|