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