东方财富如何查股票代码(内附完整程序代码)

首页教程更新时间:2023-06-22 03:29:13

人工智能时代,大数据的获取至关重要,利用网络爬虫获取数据是当前最有效的手段。爬虫本质上就是代替人工操作访问网站,自动找到目标数据,并获取目标数据的过程。今天不谈任何协议结构,只通过结合爬取股票数据的代码介绍最基本的爬虫实现,力求让略有python基础的爱好者有一个直观印象。

任务:爬取东方财富网上以6开头(比如浦发银行600000)的股票数据(最高价、换手率、成交量和成交额)。首先在东方财富网(http://quote.eastmoney.com/stocklist.html)获取全部股票代码列表,然后访问百度股市通(http://gupiao.baidu.com/stock/ 股票代码)获取具体数据。

第一步,访问网站,核心函数html=requests.get(url),url是访问链接,返回值html是目标网页源码的全部数据。这里的返回值与通常的网站界面不一样,网站界面的全部显示数据都在源码中有详细记录。点击网页右键查看源代码即可看到。

东方财富如何查股票代码,内附完整程序代码(1)

部分网页源码

第二步,从第一步获取的网页源码数据找到我们需要的目标数据,网页源码按照一定的格式标签排列,通过标签访问目标数据,这个过程称为数据解析和查找。目标函数

解析函数soup = BeautifulSoup ( html , 'html.parser' )

查找函数 find() 或者find_all()或者利用正则表达式对字符串进行匹配查找。

第三步,按照一定格式进行数据存储。可直接存储到txt文件即可。程序运行后部分结果数据如下图

东方财富如何查股票代码,内附完整程序代码(2)

部分结果数据

Python3.5 实现代码如下:

from bs4 import BeautifulSoup import traceback import re import time import requests def GetHTMLSource(url): # 得到目标网页源码 try: r=requests.get(url) r.raise_for_status () r.encoding = r.apparent_encoding return r.text except: print ( "异常" ) return "" def SetFileName(): dirname = time.strftime ( '%Y%m%d' , time.localtime ( time.time () ) ) #获取当前日期 dirname = 'sh' return dirname def getStockList(lst , stock_list_url): # 获得东方财富网上以sh6开头的股票代码 html = GetHTMLSource ( stock_list_url ) soupdata = BeautifulSoup ( html , 'html.parser' ) a = soupdata.find_all ( 'a' ) # 用find_all方法遍历所有'a'标签,并取出在'a'标签里面的’href’数据 for i in a: try: href = i.attrs[ 'href' ] lst.append ( re.findall ( r"sh6\d{5}" , href )[ 0 ] ) # 匹配sh6开头的股票 except: continue def getStockInfo(lst , stock_info_url , fpath): ndate = time.strftime ( '%Y%m%d' , time.localtime ( time.time () ) ) for stock in lst: url = stock_info_url stock '.html' # 具体单只股票的url html = GetHTMLSource ( url ) try: if html == "": continue infoDict = {} soup = BeautifulSoup ( html , 'html.parser' ) stockInfo = soup.find ( 'div' , attrs={'class': 'stock-bets'} ) if stockInfo == None: continue keyData = stockInfo.find_all ( 'dt' ) valueData = stockInfo.find_all ( 'dd' ) inp = stock "," ndate "," for i in range ( len ( keyData ) ): key = keyData[ i ].text val = valueData[ i ].text infoDict[ key ] = val inp = infoDict[ '最高' ] "," infoDict[ '换手率' ] "," infoDict[ '成交量' ] "," infoDict[ '成交额' ] "\n" with open ( fpath , 'a' , encoding='utf-8' ) as f: f.write ( inp ) except: traceback.print_exc () continue def main(): stock_name_url = 'http://quote.eastmoney.com/stocklist.html' stock_data_url = 'http://gupiao.baidu.com/stock/' output_file = './' SetFileName () '.txt' # 输出文件的文件名,路径在默认在项目文件夹下 slist = [ ] getStockList ( slist , stock_name_url ) #获取股票名称 getStockInfo ( slist , stock_data_url , output_file ) #根据股票名称获取数据,保存到output_file文件中 main ()

,
图文教程
相关文章
热门专题
推荐软件
奇热小说
奇热小说
下载
QQ2019手机版
QQ2019手机版
下载
王者荣耀
王者荣耀
下载
百度浏览器迷你版
百度浏览器迷你版
下载
2345浏览器手机版
2345浏览器手机版
下载
网易邮箱
网易邮箱
下载
爱奇艺
爱奇艺
下载
网易云音乐
网易云音乐
下载
WPSOffice
WPSOffice
下载
优酷
优酷
下载
谷歌浏览器(Chrome)
谷歌浏览器(Chrome)
下载
迅雷看看播放器
迅雷看看播放器
下载
UC浏览器
UC浏览器
下载
QQ音乐
QQ音乐
下载
阿里旺旺买家版v9.12.10C官方版
阿里旺旺买家版v9.12.10C官方版
下载
360安全卫士v12.1官方版
360安全卫士v12.1官方版
下载
猜你喜欢
微折购
微折购
下载
中性会员积分管理系统V5.0
中性会员积分管理系统V5.0
下载
初中英语考点合集
初中英语考点合集
下载
火柴人越狱逃生3D
火柴人越狱逃生3D
下载
掌上广金
掌上广金
下载
霹雳侠影
霹雳侠影
下载
BootManager(自启管家)
BootManager(自启管家)
下载
Filling
Filling
下载
重百优选app
重百优选app
下载
空中银河战机
空中银河战机
下载
最全古诗词
最全古诗词
下载
拉钩SiNKRMac版V1.0.46
拉钩SiNKRMac版V1.0.46
下载
Zone悬浮球PRO
Zone悬浮球PRO
下载
行尸走肉第三季手游
行尸走肉第三季手游
下载
BetterWeather
BetterWeather
下载
当贝短视频
当贝短视频
下载