日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

基于Python爬取搜狐證券股票過程解析

瀏覽:7日期:2022-07-05 09:18:26

數(shù)據(jù)的爬取

我們以上證50的股票為例,首先需要找到一個網(wǎng)站包含這五十只股票的股票代碼,例如這里我們使用搜狐證券提供的列表。

https://q.stock.sohu.com/cn/bk_4272.shtml

基于Python爬取搜狐證券股票過程解析

可以看到,在這個網(wǎng)站中有上證50的所有股票代碼,我們希望爬取的就是這個包含股票代碼的表,并獲取這個表的第一列。

爬取網(wǎng)站的數(shù)據(jù)我們使用Beautiful Soup這個工具包,需要注意的是,一般只能爬取到靜態(tài)網(wǎng)頁中的信息。

簡單來說,Beautiful Soup是Python的一個庫,最主要的功能是從網(wǎng)頁抓取數(shù)據(jù)。

像往常一樣,使用這個庫之前,我們需要先導(dǎo)入該庫bs4。除此之外,我們還需要使用requests這個工具獲取網(wǎng)站信息,因此導(dǎo)入這兩個庫:

import bs4 as bs

import requests

我們定義一個函數(shù)saveSS50Tickers() 來實(shí)現(xiàn)上證50股票代碼的獲取,獲取的數(shù)據(jù)來自于搜狐證券的網(wǎng)頁,使用 get() 方法獲取給定靜態(tài)網(wǎng)頁的數(shù)據(jù)。

def saveSS50Tickers():resp = requests.get(’https://q.stock.sohu.com/cn/bk_4272.shtml’)

接下來我們打開搜狐證券的這個網(wǎng)址,在頁面任意位置右鍵選擇查看元素,或者Inspect Element,或者類似的選項來查看當(dāng)前網(wǎng)站的源代碼信息。

基于Python爬取搜狐證券股票過程解析

我們需要先在這里找出網(wǎng)頁的一些基本信息和我們需要爬取的數(shù)據(jù)的特征。

基于Python爬取搜狐證券股票過程解析

首先,找到Element,在下面的內(nèi)容中找到網(wǎng)頁的頭文件 (head)。然后找到網(wǎng)頁的文字的編碼方式。這里這個網(wǎng)頁文字的編碼方式是gb2312。

如果我們想爬取并正確顯示這個網(wǎng)頁上,就需要先對獲取到的網(wǎng)頁內(nèi)容解碼。

解碼可以使用 encoding 這個方法:

resp.encoding = ’gb2312’

接下來使用 BeautifulSoup 和lxml解析網(wǎng)頁信息:

soup = bs.BeautifulSoup(resp.text, ’lxml’)

這里為了方便后期的處理,首先使用 resp.text 將網(wǎng)頁信息轉(zhuǎn)成了文本格式,然后再解析網(wǎng)頁的數(shù)據(jù)。

接下來我們需要在網(wǎng)頁的源碼中找到需要爬取信息的標(biāo)簽,這里我們需要爬取這個表格中的信息,首先,可以通過網(wǎng)站源碼的搜索功能搜索表格里的相關(guān)數(shù)據(jù)定位到表格的源碼。

基于Python爬取搜狐證券股票過程解析

同樣以這個頁面為例,一般網(wǎng)頁使用HTML語言編譯的,因為要準(zhǔn)確定位,我們需要了解一些 HTML 語言的基礎(chǔ)內(nèi)容。在這個頁面的源碼中,

基于Python爬取搜狐證券股票過程解析

<table表示表格開始,后面是這個表格的一些屬性。</table>表示表格結(jié)束。

首先,我們使用 soup.find 在網(wǎng)頁信息中找到這個表格標(biāo)簽的入口:

table = soup.find(’table’, {’id’: ’BIZ_MS_plstock’})

其中’table’表示這里需要找到一個表格,{’id’:’BIZ_MS_plstock’} 則是通過內(nèi)容或者屬性實(shí)現(xiàn)表格的進(jìn)一步定位。

找到表格的位置之后,我們需要繼續(xù)查找需要的數(shù)據(jù),同樣以這個頁面為例:

基于Python爬取搜狐證券股票過程解析

在網(wǎng)頁開發(fā)語言中,

<tr表示表格中開始新的一行,<td表示在這一行中又新建了一列,而</td>則表示這一列結(jié)束了,對應(yīng)的</tr>則表示這一行結(jié)束了。

通過該網(wǎng)頁的源碼,我們可以發(fā)現(xiàn),

表格的第一行和第二行都是表頭的信息,第三行開始是五十家公司的股票信息。另外每家公司的股票代碼在表格的第一列位置。

因為,在Python中,我們需要從表格的第三行開始抓取,每行抓取表格的第一列的數(shù)據(jù),將抓取到的數(shù)據(jù)轉(zhuǎn)換成文本格式,我們用一個列表 tickers 來存儲抓取到的數(shù)據(jù):

tickers = []for row in table.findAll(’tr’)[2:]:ticker = row.findAll(’td’)[0].texttickers.append(ticker + ’.SS’)

因此為了方便后續(xù)進(jìn)行數(shù)據(jù)處理,這里我們存儲上證50的每家公司的股票代碼時,都在代碼后面再添加’.SS’的字符。這時我們運(yùn)行目前的代碼,并將列表tickers輸出:

# 導(dǎo)入 beautiful soup4 包,用于抓取網(wǎng)頁信息import bs4 as bs# 導(dǎo)入 pickle 用于序列化對象import pickle# 導(dǎo)入 request 用于獲取網(wǎng)站上的源碼import requestsdef saveSS50Tickers(): resp = requests.get(’https://q.stock.sohu.com/cn/bk_4272.shtml’) resp.encoding = ’gb2312’ soup = bs.BeautifulSoup(resp.text, ’lxml’) # print(soup) table = soup.find(’table’, {’id’: ’BIZ_MS_plstock’}) # print(table) tickers = [] # print(table.find_all(’tr’)) for row in table.findAll(’tr’)[2:]: # print(row) ticker = row.findAll(’td’)[0].text tickers.append(ticker + ’.SS’) return tickerstickers = saveSS50Tickers()print(tickers)

觀察到輸出信息如下:

[’600036.SS’, ’601229.SS’, ’600031.SS’, ’601166.SS’, ’600104.SS’, ’600030.SS’, ’603259.SS’, ’601668.SS’, ’601628.SS’, ’601766.SS’, ’601857.SS’, ’601398.SS’, ’601390.SS’, ’600029.SS’, ’600028.SS’, ’601818.SS’, ’601211.SS’, ’601066.SS’, ’601111.SS’, ’600837.SS’, ’600887.SS’, ’601888.SS’, ’600690.SS’, ’600519.SS’, ’600016.SS’, ’601989.SS’, ’601988.SS’, ’601601.SS’, ’600019.SS’, ’601186.SS’, ’600703.SS’, ’600196.SS’, ’601318.SS’, ’601800.SS’, ’600050.SS’, ’601319.SS’, ’601288.SS’, ’601688.SS’, ’603993.SS’, ’600309.SS’, ’600048.SS’, ’600276.SS’, ’601138.SS’, ’601336.SS’, ’601088.SS’, ’600585.SS’, ’600000.SS’, ’601328.SS’, ’601939.SS’, ’600340.SS’]

這樣我們就從搜狐證券這個網(wǎng)站上爬取到了上證50的公司股票代碼,并將其以字符串的格式存放在了一個列表變量中。

將股票代碼保存到本地

一般像股票代碼這種內(nèi)容,短時間內(nèi)不會有很大的變動,所以我們也不需要每次使用時重新爬取,一種方便的做法是可以將股票代碼信息以文件的格式保存到本地,需要使用時直接從本地讀取就可以了。

這里我們將股票代碼數(shù)據(jù)保存為pickle格式。pickle 格式的數(shù)據(jù)可以在 Python 中高效的存取,當(dāng)然,將文件導(dǎo)出成該格式前需要先導(dǎo)入相應(yīng)的pickle 庫:

import pickle

pickle可以保存任何數(shù)據(jù)格式的數(shù)據(jù),在經(jīng)常存取的場景(保存和恢復(fù)狀態(tài))下讀取更加高效。

把文件導(dǎo)出成pickle格式的方法是 pickle.dump,同時需要結(jié)合文件讀寫操作:

with open(’SS50tickers.pickle’, ’wb’) as f: pickle.dump(tickers, f)

這里的’SS50tickers.pickle’就是保存的文件的名稱,’wb’則表示向文件中寫入數(shù)據(jù)。pickle.dump(tickers, f) 表示將列表tickers寫入到文件中。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美a级片一区| 国产h片在线观看| 狠狠爱成人网| 欧美亚洲国产激情| 久久三级福利| 国产精品99免费看| aⅴ色国产欧美| 亚洲人成亚洲精品| 日韩极品在线观看| 久久国产人妖系列| 国产精品99精品一区二区三区∴| 久久久久久婷| 国产成人免费| 视频一区在线播放| 精品99在线| 夜夜嗨一区二区| 国产免费av一区二区三区| 日韩久久电影| 亚洲人成网站在线在线观看| 国产69精品久久| 日韩专区在线视频| 成人黄色av| 另类激情亚洲| 精品国产18久久久久久二百| 久久久久99| 亚洲精品在线观看91| 日韩精品一区第一页| 丝袜亚洲精品中文字幕一区| 超碰99在线| 久久精品亚洲欧美日韩精品中文字幕| 亚洲精品大全| 久久美女性网| 国产精品久久久久久妇女| 欧美日韩国产亚洲一区| 久久久国产精品入口麻豆| 亚洲免费婷婷| av综合电影网站| 日韩avvvv在线播放| 五月天久久久| 另类综合日韩欧美亚洲| 日韩在线a电影| 久久久国产亚洲精品| 久久精品99国产精品| 99国产精品久久久久久久| 国产成人精品福利| 日韩综合一区二区| 国产精品av久久久久久麻豆网| 国产精品久久久久久久久久白浆 | 中文字幕日本一区| 电影91久久久| 亚洲精品黄色| 欧美+亚洲+精品+三区| 日韩亚洲精品在线观看| 在线一区视频观看| 久久精品国产99国产| 日日夜夜免费精品| 亚洲深夜影院| 日韩av福利| 国产极品嫩模在线观看91精品| 视频一区视频二区中文| 亚洲午夜av| 日韩综合一区| 国产精品毛片久久久| 一区二区三区网站| 欧美~级网站不卡| 日韩精品2区| 国产一区二区三区四区大秀| 日韩福利视频导航| 蜜臀精品一区二区三区在线观看| 久久精品99久久无色码中文字幕| 久久精品国产网站| 国产亚洲一区二区三区啪| 一二三区精品| 久久高清免费观看| 亚洲女同中文字幕| 国产99亚洲| 日韩高清成人| 日韩电影免费网站| 日本不卡免费高清视频在线| 欧美国产小视频| 成人国产精品久久| 丰满少妇一区| 国产精品高潮呻吟久久久久| 日本欧美韩国一区三区| 日韩激情网站| 日韩av在线免费观看不卡| 中文字幕一区二区三区四区久久 | 一区二区电影| 日本不卡不码高清免费观看 | 亚洲精品乱码久久久久久蜜桃麻豆| 久久高清免费观看| 中日韩男男gay无套| 国产亚洲一区在线| 老牛国产精品一区的观看方式| 黄色在线一区| 亚洲一区国产| 亚洲一级淫片| 日本成人中文字幕| 国产欧美日韩亚洲一区二区三区| 97精品久久| 国产精品**亚洲精品| 麻豆国产91在线播放| 国产aa精品| 久久国产成人午夜av影院宅| 欧美在线影院| 综合欧美精品| 日本亚州欧洲精品不卡| 69精品国产久热在线观看| 国产日韩一区二区三区在线| 国产精品久久久久久久久久久久久久久| 国产精品久久久亚洲一区| 精品少妇av| 色婷婷久久久| 亚洲男女自偷自拍| 日本精品另类| 麻豆国产精品| 韩国久久久久久| 九九久久电影| 免费观看在线综合| 欧美一区影院| 精品国产乱码| 91精品推荐| 久久性天堂网| 青草久久视频| 欧美国产小视频| 亚洲精品一区二区在线看| 亚洲香蕉久久| 精品日本视频| 日韩视频免费| 欧美视频精品全部免费观看| 国产成人精品一区二区三区在线| 亚洲特色特黄| 啪啪亚洲精品| 欧美日韩尤物久久| 亚洲97av| 日韩成人a**站| 在线亚洲欧美| 国产精品videossex久久发布| 91精品xxx在线观看| 免费观看在线综合色| 欧美精品第一区| 美女网站一区| 久久国产三级| 亚洲午夜在线| 国产日韩欧美一区二区三区 | 久久精品国语| 一区二区三区国产盗摄| 精品一区二区三区免费看| 91国语精品自产拍| 国产调教精品| 国产在线成人| 国产精品色在线网站| 999国产精品视频| 日本午夜精品视频在线观看| 美女网站视频一区| 日韩国产欧美三级| 在线手机中文字幕| 亚洲一级大片| 日韩大片在线播放| 日韩精品国产欧美| 婷婷精品视频| 国产精品亚洲欧美日韩一区在线| 国产91精品对白在线播放| 国产精品主播| 国产视频欧美| 欧美丰满日韩| 欧美片第1页综合| 国产日韩综合| 色黄视频在线观看| 国产精品网址| 欧美综合二区| 日本а中文在线天堂| 日韩精品一区二区三区免费视频| 国产精品成人a在线观看| 最新亚洲国产| 久久精品国产68国产精品亚洲| 国产欧美一区二区三区精品观看 | 色88888久久久久久影院| 日韩高清电影免费| 136国产福利精品导航网址| 国产精品密蕾丝视频下载| 在线亚洲激情| 日韩中文首页| 国产精品久久久久久久久久白浆| 免费视频久久| 亚洲精品永久免费视频| 久久国产日韩欧美精品| 久久都是精品| 在线视频观看日韩| 国产精品久久久久蜜臀| 91精品国产经典在线观看| 午夜在线视频观看日韩17c| 中文字幕色婷婷在线视频| 国产亚洲久久| 亚洲专区视频| 亚洲在线免费| av亚洲免费| 日本韩国欧美超级黄在线观看| 精品色999| 欧美激情五月|