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

您的位置:首頁技術文章
文章詳情頁

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

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

數據的爬取

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

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

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

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

爬取網站的數據我們使用Beautiful Soup這個工具包,需要注意的是,一般只能爬取到靜態網頁中的信息。

簡單來說,Beautiful Soup是Python的一個庫,最主要的功能是從網頁抓取數據。

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

import bs4 as bs

import requests

我們定義一個函數saveSS50Tickers() 來實現上證50股票代碼的獲取,獲取的數據來自于搜狐證券的網頁,使用 get() 方法獲取給定靜態網頁的數據。

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

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

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

我們需要先在這里找出網頁的一些基本信息和我們需要爬取的數據的特征。

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

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

如果我們想爬取并正確顯示這個網頁上,就需要先對獲取到的網頁內容解碼。

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

resp.encoding = ’gb2312’

接下來使用 BeautifulSoup 和lxml解析網頁信息:

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

這里為了方便后期的處理,首先使用 resp.text 將網頁信息轉成了文本格式,然后再解析網頁的數據。

接下來我們需要在網頁的源碼中找到需要爬取信息的標簽,這里我們需要爬取這個表格中的信息,首先,可以通過網站源碼的搜索功能搜索表格里的相關數據定位到表格的源碼。

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

同樣以這個頁面為例,一般網頁使用HTML語言編譯的,因為要準確定位,我們需要了解一些 HTML 語言的基礎內容。在這個頁面的源碼中,

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

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

首先,我們使用 soup.find 在網頁信息中找到這個表格標簽的入口:

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

其中’table’表示這里需要找到一個表格,{’id’:’BIZ_MS_plstock’} 則是通過內容或者屬性實現表格的進一步定位。

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

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

在網頁開發語言中,

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

通過該網頁的源碼,我們可以發現,

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

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

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

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

# 導入 beautiful soup4 包,用于抓取網頁信息import bs4 as bs# 導入 pickle 用于序列化對象import pickle# 導入 request 用于獲取網站上的源碼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’]

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

將股票代碼保存到本地

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

這里我們將股票代碼數據保存為pickle格式。pickle 格式的數據可以在 Python 中高效的存取,當然,將文件導出成該格式前需要先導入相應的pickle 庫:

import pickle

pickle可以保存任何數據格式的數據,在經常存取的場景(保存和恢復狀態)下讀取更加高效。

把文件導出成pickle格式的方法是 pickle.dump,同時需要結合文件讀寫操作:

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩精品一区第一页| 国产福利电影在线播放| 日韩不卡一区| 精品一区二区三区的国产在线观看| 久久精品国内一区二区三区水蜜桃| 美女福利一区二区三区| 日韩黄色大片网站| 一区二区亚洲精品| 国产伦一区二区三区| 亚洲欧美视频一区二区三区| 久久中文字幕一区二区三区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 国产精品午夜一区二区三区| 红桃视频亚洲| 亚洲在线电影| 蜜桃精品在线| 麻豆久久一区二区| 国产探花在线精品| 日韩精品一级| 久久亚洲黄色| 国产调教精品| 图片区亚洲欧美小说区| 国产免费成人| se01亚洲视频| 国产日韩精品视频一区二区三区| 亚洲免费网址| 国产三级精品三级在线观看国产| 99视频精品全部免费在线视频| 欧美国产美女| 国产视频网站一区二区三区| 免费在线观看日韩欧美| 欧美日韩激情| 日韩国产91| 蜜臀av亚洲一区中文字幕| 欧美日韩免费观看视频| 精品国产黄a∨片高清在线| 国产精品qvod| 亚洲一区二区三区高清不卡| 国产aⅴ精品一区二区三区久久| 精品日韩一区| 亚洲五月婷婷| 视频一区中文字幕| 亚洲专区视频| 久久精品高清| 国产美女亚洲精品7777| 国内不卡的一区二区三区中文字幕| 97在线精品| 91精品国产自产观看在线| 久久精品国产网站| 欧美日韩一二三四| 国产一区清纯| 精品亚洲二区| 国产极品一区| 免费视频一区三区| 黄色在线网站噜噜噜| 国产欧美自拍| 岛国av在线网站| 欧美性www| 日本精品影院| 国产精品视频3p| 国产欧美日韩免费观看| 亚洲精品国产精品粉嫩| 另类国产ts人妖高潮视频| 伊人影院久久| 男女男精品视频网| 99亚洲精品| 黄色网一区二区| 日本电影久久久| 青草av.久久免费一区| 人人精品亚洲| 日韩欧美看国产| 日韩av有码| 国产精品99精品一区二区三区∴| 怡红院精品视频在线观看极品| 亚洲激情婷婷| 爽好久久久欧美精品| 亚洲精品一二三区区别| 精品国产欧美| 国产精品第一国产精品| 激情五月综合| 99热免费精品| 日韩1区2区日韩1区2区| 日韩国产在线观看一区| 91精品国产自产精品男人的天堂 | 精品国产亚洲一区二区三区在线 | 国产色综合网| 国产日韩电影| 91精品91| 亚洲理论在线| 夜夜精品视频| 中文字幕日韩高清在线| 日韩精品a在线观看91| 国产精品女主播一区二区三区| 丝袜国产日韩另类美女| 成人午夜在线| 日韩一区二区免费看| 制服诱惑一区二区| 影音先锋国产精品| 免费的成人av| 久久国产生活片100| 亚州av日韩av| 精品一区二区三区在线观看视频| 亚洲午夜久久| 丝袜美腿高跟呻吟高潮一区| 亚洲一区二区三区四区电影| 日韩欧美少妇| 日韩中文字幕视频网| 国产视频网站一区二区三区| 少妇精品久久久一区二区| 日韩高清成人在线| 成午夜精品一区二区三区软件| 中文不卡在线| 精品国内亚洲2022精品成人| 91精品在线观看国产| 国产麻豆久久| 亚洲专区视频| 综合国产在线| 欧美成a人免费观看久久| 少妇精品久久久一区二区| 亚洲一区二区小说| 国产欧美日韩一区二区三区四区 | 亚洲午夜精品久久久久久app| 欧美午夜不卡| 久久国产精品色av免费看| 精品一区二区三区视频在线播放| re久久精品视频| 亚洲免费黄色| 国产欧美三级| 一本色道精品久久一区二区三区| 91精品91| 美女久久99| 欧美在线网站| 成人在线黄色| 日韩欧美四区| 久久视频精品| 国产精品免费99久久久| 91精品国产自产在线丝袜啪| 极品日韩av| 免费黄色成人| 亚洲天堂黄色| 久久亚洲精品中文字幕| 图片区亚洲欧美小说区| 国语精品一区| 999国产精品| 国产精品jk白丝蜜臀av小说| 在线亚洲欧美| 荡女精品导航| 国产美女视频一区二区| 丝袜a∨在线一区二区三区不卡| 爽好久久久欧美精品| 麻豆国产精品| 国产精久久久| 亚洲福利免费| 亚洲在线观看| 精品美女在线视频| 久久天堂av| 国产一区二区三区黄网站| 久久亚洲国产精品一区二区| 欧美日韩1区2区3区| 欧美日韩中文字幕一区二区三区| 老司机久久99久久精品播放免费| 日韩欧美午夜| 久久精品国产99国产| 亚洲欧美日本日韩| 麻豆中文一区二区| 久久九九精品| 日韩激情一区二区| 国产精品日韩久久久| 欧美国产另类| 人人爱人人干婷婷丁香亚洲| 国产成人精品一区二区免费看京 | 九色精品91| 久久精品av麻豆的观看方式| 红桃视频国产一区| 国产精品一区二区99| 国产在线欧美| 在线日韩av| 精品国产不卡一区二区| 精品日产乱码久久久久久仙踪林| 精品一区二区三区的国产在线观看| 午夜久久99| 黄色av一区| 亚洲1234区| 1024精品一区二区三区| 亚洲v在线看| 国产精品高颜值在线观看| 黑人精品一区| 日韩中文字幕区一区有砖一区| 国产精品社区| 黄色精品视频| 老鸭窝一区二区久久精品| 黄色网一区二区| 国产精品黄色片| 麻豆精品av| 粉嫩av一区二区三区四区五区| 中文字幕成人| 欧美精品影院| 欧美日韩一区二区高清| 国产精品三p一区二区| 日韩午夜视频在线|