博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python-爬虫技术获取股票信息
阅读量:3773 次
发布时间:2019-05-22

本文共 1771 字,大约阅读时间需要 5 分钟。

一、项目介绍

目标:获取上交所和深交所所有股票的名称和交易信息,保存到文件中

技术路线:使用requests-bs4-re
网站选择:没有robots协议限制;股票信息静态存在于HTML页面中,非JS代码生成
结构设计:

  • 从东方财富网获取股票列表
  • 根据股票列表逐个到百度股票获取个股信息
  • 将结果存在文件中

二、获取解析

通过查看源码的方式定位到需要的字段

三、源码

#(未测试)import requestsimport refrom bs4 import BeautifulSoupimport tracebackdef getHTMLText(url):    try:        r = requests.get(url, timeout = 30)        r.raise_for_status()        r.encoding = r.apparent_encoding  #防止中文乱码        #print(r.text)        return r.text    except:        return ""def getStockList(lst, stockURL):    html = getHTMLText(stockURL)    soup = BeautifulSoup(html, 'html.parser')    a = soup.find_all('a')    for i in a:        try:            href = i.attrs['href']            lst.append(re.find_all(r"[s][hz]\d{6}", href)[0]))        except:            continuedef getStockInfo(lst, stockURL, fpath):    for stock in lst:        url = stockURL + stock + ".html"        html = getHTMLText(url)        try:            if html == "":                continue            infoDict = {
} soup = BeautifulSoup(html, 'html.parser') stockInfo = sou.find('div', attra={
'class':'stock-bets'}) name = stockInfo.find_all(attrs={
'class':'bets-name'})[0] infoDict.update({
'股票名称': name.text.split()[0]}) keyList = stocInfo.find_all('dt') valueList = stockInfo.find_all('dd') for i in range(len(keyList)): key = keyList[i].text val = valueList[i].text infoDict[key] = val def main(): stoc_list_url = 'http://quote.eastmoney.com/stocklist.html' stoc_info_url = 'https://gupiao.baidu.com/stock/' ouput_file = 'D://test.txt' slist = [] getStockList(slist, stock_list_url) getStockInfo(slist, stoc_info_url, ouput_file)main()

转载地址:http://wyhpn.baihongyu.com/

你可能感兴趣的文章
数据库设计
查看>>
Java虚拟机的内存分配和运行机制(粗谈)
查看>>
web开发之BaseServlet的使用
查看>>
初识Maven
查看>>
Maven分模块构建项目
查看>>
MyBatis初识
查看>>
MyBatis【进阶详解】
查看>>
面试题集锦(七)
查看>>
注解开发——Spring整合dao/service/web
查看>>
架构的演进
查看>>
Elastic-Job的基础使用
查看>>
策略过滤器的灵活性分析
查看>>
POI的使用
查看>>
Anaconda和PyCharm的下载、安装和配置
查看>>
Mockito单元测试简述
查看>>
GUAVA的常用方法汇总
查看>>
装饰器和门面设计模式介绍
查看>>
创建型模式——克隆模式
查看>>
JVM关闭和Hook钩子
查看>>
线程中断处理
查看>>