摘要:目標很簡單,因為我想要爬一下證券化率,然后可視化輸出結(jié)果。證券化率的基礎(chǔ)就是上市公司的總市值,對于證券化率其實還蠻多說法的,比如雪球的這篇文。我們可以利用這個回調(diào)函數(shù)來顯示當前的下載進度。
寫在前面的叨叨
折騰了這么久,我終于在喝完一聽快樂肥宅水后下定決心來學習寫爬蟲了。
目標很簡單,因為我想要爬一下“證券化率”,然后可視化輸出結(jié)果。
證券化率的基礎(chǔ)就是上市公司的總市值,對于證券化率其實還蠻多說法的,比如雪球的這篇文。
中國的真實證券化率是多少?
爬蟲對于證券類的分析來說,其實已經(jīng)是司空見慣了,但是作為菜鳥小股民,希望自己在寫完這個爬蟲之后也對股票有更深的認識吧,然后能賺錢就更好啦~
找了一個相對好入門的案例,來作為學習的范本。
Python爬蟲抓取東方財富網(wǎng)股票數(shù)據(jù)并實現(xiàn)MySQL數(shù)據(jù)庫存儲
主要使用的工具和模塊包括:Anaconda Pandas MySQL
Anaconda是之前就安裝好了的,具體過程可以參考這個安裝流程。
Anaconda完全入門指南
Pandas是在Anaconda中用命令安裝好的,還得摸索下這個工具。
pip install pandas
MySQL以前寫PHP的時候,都習慣直接用Wamp打包處理了,這會兒就來摸索下多帶帶安裝,安裝教程參考這個。
windows下安裝Mysql—圖文詳解
一共是四個步驟:
用爬蟲將數(shù)據(jù)抓取到本地csv文件中
將csv文件內(nèi)的數(shù)據(jù)導入到數(shù)據(jù)庫中
MySQL數(shù)據(jù)庫內(nèi)進行查詢
我們今天的目標是完成第一步----因為MySQL還沒部署完畢...明天繼續(xù)~
#導入需要使用到的模塊 import urllib import re import pandas as pd import pymysql import os #爬蟲抓取網(wǎng)頁函數(shù) def getHtml(url): html = urllib.request.urlopen(url).read() html = html.decode("gbk") return html #抓取網(wǎng)頁股票代碼函數(shù) def getStackCode(html): s = r"
我們看一下源代碼是這樣的,注釋寫的很清楚,我們來拆解一下。
引入模塊,包括pandas和re等
分模塊寫函數(shù)
getHtml()用于抓取網(wǎng)頁,讀取網(wǎng)頁源碼
getStackCode()對抓取到的源碼讀取,拆解出
結(jié)構(gòu)里面的鏈接,打開Url對應的地址,看到對應的圖形結(jié)構(gòu),紅框就是需要命中的目標。根據(jù)代碼,原作者只截取了6開頭的大盤股的list存儲入數(shù)組。 然后用GET方法獲取每個代碼對應的股票的數(shù)據(jù),對每組數(shù)據(jù)進行存儲。
將代碼放到本地跑一下,看下結(jié)果。
正常應該是會下載數(shù)據(jù)到文件夾下,但是報錯了。
應該是request模塊下的urlretrieve函數(shù)報錯。
關(guān)聯(lián)語句是
urllib.request.urlretrieve(url, filepath+code+".csv")
關(guān)于urlretrieve()這個方法,因為沒有使用過,所以來看下詳解。
Python urllib模塊urlopen()與urlretrieve()詳解
urlretrieve()用于直接將遠程數(shù)據(jù)下載到本地。
urllib.urlretrieve(url[, filename[, reporthook[, data]]])
參數(shù)說明:
url:外部或者本地url
filename:指定了保存到本地的路徑(如果未指定該參數(shù),urllib會生成一個臨時文件來保存數(shù)據(jù));
reporthook:是一個回調(diào)函數(shù),當連接上服務器、以及相應的數(shù)據(jù)塊傳輸完畢的時候會觸發(fā)該回調(diào)。我們可以利用這個回調(diào)函數(shù)來顯示當前的下載進度。
data:指post到服務器的數(shù)據(jù)。該方法返回一個包含兩個元素的元組(filename, headers),filename表示保存到本地的路徑,header表示服務器的響應頭。
會過來看我們的函數(shù)語句↓
urllib.request.urlretrieve(url, filepath+code+".csv")
指定了地址和文件名(保存到本地的路徑),所以我試試在本地新建一個600000.csv來測試下結(jié)果。
然后發(fā)現(xiàn)并沒有結(jié)果。
然后發(fā)現(xiàn)自己干了很蠢的事情.....
emmm....其實是我的路徑寫錯了,然后實驗結(jié)果是這樣的~
現(xiàn)在就坐等爬完啦~然后安裝MySQL,然后導入數(shù)據(jù)庫。
明天來嘗試下自己復寫一下這個爬蟲~
主要涉及的內(nèi)容是網(wǎng)頁結(jié)果和模塊方法的使用。
包括了:
request.urlopen()
re.compile()
request.urlretriev()
要好好學習~
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/43280.html
摘要:爬爬們,如果你已經(jīng)開始部署項目了,那么你肯定也已經(jīng)寫好了完整的爬蟲項目,恭喜你,你很優(yōu)秀今天忙了小半天的服務器部署,跟大家分享一些心得首先我們要有一臺服務器,不好意思,這是廢話,略過。。。。。 爬爬們,如果你已經(jīng)開始部署項目了,那么你肯定也已經(jīng)寫好了完整的爬蟲項目,恭喜你,你很優(yōu)秀!**今天忙了小半天的服務器部署,跟大家分享一些心得~ 首先我們要有一臺服務器,不好意思,這是廢話,略過...
摘要:但發(fā)現(xiàn)導出來的沒有高亮語法沒有語法高亮咋看啊,所以到這里我就放棄了,將就用一下博客園生成的吧爬蟲學習上面提供的接口是一個生成一個文件,我是不可能一個一個將鏈接和標題放上去生成的因為博客園上發(fā)的也將近篇了。 前言 只有光頭才能變強 之前有讀者問過我:3y你的博客有沒有電子版的呀?我想要份電子版的。我說:沒有啊,我沒有弄過電子版的,我這邊有個文章導航頁面,你可以去文章導航去找來看呀..然后...
摘要:今天就先給大家講大數(shù)據(jù)分析工程師。所以你要和我說你在外面培訓了個月的大數(shù)據(jù)分析后,就想做了,那請你再考慮考慮。而他們鼓吹的大數(shù)據(jù)分析師,其實就是。 showImg(https://segmentfault.com/img/remote/1460000018722710?w=1000&h=750); Overview: 序 基本概念 DS的職能要求 DE的職能要求 總結(jié) 一、序 今天...
摘要:我是由貝爾實驗室的在年年間發(fā)明創(chuàng)造的,瞧,就他你們眼中的語言之父。與此同時,由于庫函數(shù)的缺失,導致新手在開發(fā)任何一塊小程序的時候都必須得親力親為。對了,我爸是微軟,由和派生出來的面向?qū)ο蟮木幊陶Z言。對,我曾是世界上最好的編程語言。 ...
閱讀 3580·2021-11-23 10:13
閱讀 925·2021-09-22 16:01
閱讀 963·2021-09-09 09:33
閱讀 744·2021-08-05 09:58
閱讀 1781·2019-08-30 11:14
閱讀 2094·2019-08-30 11:02
閱讀 3334·2019-08-29 16:28
閱讀 1549·2019-08-29 16:09