㈠ 如何用python 爬蟲抓取金融數據
獲取數據是數據分析中必不可少的一部分,而網路爬蟲是是獲取數據的一個重要渠道之一。鑒於此,我拾起了Python這把利器,開啟了網路爬蟲之路。
本篇使用的版本為python3.5,意在抓取證券之星上當天所有A股數據。程序主要分為三個部分:網頁源碼的獲取、所需內容的提取、所得結果的整理。
一、網頁源碼的獲取
很多人喜歡用python爬蟲的原因之一就是它容易上手。只需以下幾行代碼既可抓取大部分網頁的源碼。
為了減少干擾,我先用正則表達式從整個頁面源碼中匹配出以上的主體部分,然後從主體部分中匹配出每隻股票的信息。代碼如下。
pattern=re.compile('<tbody[sS]*</tbody>')
body=re.findall(pattern,str(content)) #匹配<tbody和</tbody>之間的所有代碼pattern=re.compile('>(.*?)<')
stock_page=re.findall(pattern,body[0]) #匹配>和<之間的所有信息
其中compile方法為編譯匹配模式,findall方法用此匹配模式去匹配出所需信息,並以列表的方式返回。正則表達式的語法還挺多的,下面我只羅列所用到符號的含義。
語法 說明
. 匹配任意除換行符「 」外的字元
* 匹配前一個字元0次或無限次
? 匹配前一個字元0次或一次
s 空白字元:[<空格> fv]
S 非空白字元:[^s]
[...] 字元集,對應的位置可以是字元集中任意字元
(...) 被括起來的表達式將作為分組,裡面一般為我們所需提取的內容
正則表達式的語法挺多的,也許有大牛隻要一句正則表達式就可提取我想提取的內容。在提取股票主體部分代碼時發現有人用xpath表達式提取顯得更簡潔一些,看來頁面解析也有很長的一段路要走。
三、所得結果的整理
通過非貪婪模式(.*?)匹配>和<之間的所有數據,會匹配出一些空白字元出來,所以我們採用如下代碼把空白字元移除。
stock_last=stock_total[:] #stock_total:匹配出的股票數據for data in stock_total: #stock_last:整理後的股票數據
if data=='':
stock_last.remove('')
最後,我們可以列印幾列數據看下效果,代碼如下
print('代碼',' ','簡稱',' ',' ','最新價',' ','漲跌幅',' ','漲跌額',' ','5分鍾漲幅')for i in range(0,len(stock_last),13): #網頁總共有13列數據
print(stock_last[i],' ',stock_last[i+1],' ',' ',stock_last[i+2],' ',' ',stock_last[i+3],' ',' ',stock_last[i+4],' ',' ',stock_last[i+5])
㈡ 如何評價利用python製作數據採集,計算,可視化界面呢
先來設置兩個url地址,第一個用於第一次訪問,這樣可以獲得網站伺服器發來的cookie,第二個網址是用於登陸的地址
引入兩個模塊,cookielib和urllib2
接著,我們安裝一個cookie處理器,代碼如下,這個代碼很多人不太能讀懂,其實你會用就可以了,他們就是這個固定的形式,頂多改改變數的名字。你復制下來以後自己用就可以了,用多了,你再去看代碼的意義,你就都懂了。
然後我們先訪問一下網站,獲得一個cookie,你不用管這個cookie該怎麼弄,前面設置的cookie處理器會自動處理。
接著,我們寫一下postdata,也就是你要post的數據,因為我們打算登陸網站,所以postdata里肯定有用戶名和密碼,那麼怎麼知道該怎麼寫postdata呢?看你抓包得到的post數據。下面第一幅圖是httpwatch抓包截圖,點擊postdata,看到post的數據,然後我們看第二幅圖,就是python的寫法。你自己感受一下。
寫完postdata以後,我們 要將postdata轉碼一下,讓伺服器可以解讀postdata數據
接著設置headers信息,headers也是抓包得到的。同樣的方式,你去寫header內的信息
然後我們通過request方法來登陸網站,並返回數據,返回的數據存儲在request中
通過rulopen方法和read方法來讀取數據,並列印出來。
我們看到輸出的結果,這說明我們雖然正確的模擬了登陸網站需要的post信息,但是沒有考慮到登陸網站是需要驗證碼的,後期我們會看到如何處理驗證碼,如果你拿這個教程去處理沒有驗證碼的登陸問題,那麼你現在已經成功了。
㈢ 哪本書介紹python獲取雅虎股票數據
應該沒有書專門介紹 如何獲取雅虎股票數據吧?
你是想了解爬蟲方面的吧?
基本模塊:urllib/urllib2/requests 用於發出URL請求,獲取相應雅虎數據;
beautifulsoup或者lxml 用於解析上面獲取到的html內容;
如果要小題大做的話,你也可以了解一下爬蟲框架:scrpy
㈣ PHP或者python進行數據採集和分析,有什麼比較成熟的框架
Python:
1.requests 很好用的http庫,中文文檔:Requests: 讓 HTTP 服務人類
2.BeautifulSoup 很好用很強大的html解析庫,中文文檔:Beautiful Soup 4.4.0 文檔
3.Scrapy 知名爬蟲框架,中文文檔:Scrapy 0.25 文檔
㈤ 如何用python 取所有股票一段時間歷史數據
各種股票軟體,例如通達信、同花順、大智慧,都可以實時查看股票價格和走勢,做一些簡單的選股和定量分析,但是如果你想做更復雜的分析,例如回歸分析、關聯分析等就有點捉襟見肘,所以最好能夠獲取股票歷史及實時數據並存儲到資料庫,然後再通過其他工具,例如SPSS、SAS、EXCEL或者其他高級編程語言連接資料庫獲取股票數據進行定量分析,這樣就能實現更多目的了。
㈥ Python Django框架,如何通過某一工具獲取資料庫數據,然後繪圖,將可視化成果展現在搭建好的WEB頁面上
怎麼獲取資料庫數據屬於Django ORM部分的基礎知識,請看Django官網教程,如果看不懂英文可以看自強學堂的Model部分教程,雖然遠不如官網詳盡,至少能讓你知道ORM是什麼、怎麼用。
怎麼將數據可視化到頁面上屬於前端知識,和你的數據類型、數據量、展現形式、期望效果、選用的前端框架以及UI框架都有關系,問題太寬泛不好回答。
㈦ python用什麼方法或者庫可以拿到全部股票代碼
首先你需要知道哪個網站上有所有股票代碼,然後分析這個網站股票代碼的存放方式,再利用python寫一個爬蟲去爬取所有的股票代碼
㈧ 如何用python獲取股票數據
在Python的QSTK中,是通過s_datapath變數,定義相應股票數據所在的文件夾。一般可以通過QSDATA這個環境變數來設置對應的數據文件夾。具體的股票數據來源,例如滬深、港股等市場,你可以使用免費的WDZ程序輸出相應日線、5分鍾數據到s_datapath變數所指定的文件夾中。然後可使用Python的QSTK中,qstkutil.DataAccess進行數據訪問。
㈨ python網路數據採集常用什麼庫
urllib2或者urllib3加上beautifulsoup就能採集一些簡單的網路數據了
大型一點的框架用scrapy,pyspider應該好些