當前位置:首頁 » 比特幣問答 » 用python實現比特幣瀏覽器

用python實現比特幣瀏覽器

發布時間: 2023-03-06 05:18:56

Ⅰ 如何用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])

熱點內容
萊特幣的歷史最高價格 發布:2025-09-09 22:58:01 瀏覽:710
usdt一直凍結怎麼回事 發布:2025-09-09 22:48:16 瀏覽:425
pi幣在幣圈排第幾名 發布:2025-09-09 22:45:14 瀏覽:631
怎樣用usdt付款 發布:2025-09-09 22:43:13 瀏覽:761
幣圈鯨魚 發布:2025-09-09 22:39:52 瀏覽:298
兀幣如何添加安全圈 發布:2025-09-09 22:29:14 瀏覽:488
超人社區幣圈 發布:2025-09-09 22:28:56 瀏覽:715
trxtrex文件 發布:2025-09-09 22:28:51 瀏覽:630
區塊鏈技術算金融業嗎 發布:2025-09-09 22:08:17 瀏覽:9
ltc幣用gpu怎麼挖 發布:2025-09-09 22:07:28 瀏覽:365