爬取股票信息
时间:2019-03-14
本文章向大家介绍爬取股票信息,主要包括爬取股票信息使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
#!/user/bin/env python # -*- conding:utf-8 -*- import re import requests from bs4 import BeautifulSoup import traceback def get_html_text(url): try: r = requests.get(url,timeout = 30) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: return '' def get_stock_list(lst,stock_url): html = get_html_text(stock_url) soup = BeautifulSoup(html,'html.parser') a = soup.find_all('a') for i in a: try: href = i.attrs['href'] lst.append(re.findall(r'[s][hz]\d{6}]',href)[0]) except: continue def get_stock_info(lst,stock_url,fpath): for stock in lst: url = stock_url +stock + '.html' html = get_html_text(url) try: if html =='': continue info_dict = {} soup = BeautifulSoup(html,'html.parser') stock_info = soup.find('div',attrs={'class':'stock-bets'}) name = stock_info.find_all(attrs = {'class':'bets-name'})[0] info_dict.update({'股票名称':name.text.split()[0]}) key_list = stock_info.find_all('dt') value_list = stock_info.find_all('dd') for i in range(len(key_list)): key = key_list[i].text val = value_list[i].text info_dict[key] = val with open(fpath,'a',encoding='utf-8') as f: f.write(str(info_dict) + '\n') except: traceback.print_exc() continue def main(): stock_list_rul = 'http://quote.eastmoney.com/stocklist.html' stock_info_rul = 'https://gupiao.baidu.com/stock/' output_file = 'D://baidu_stock_info.txt' slist = [] get_stock_list(slist,stock_list_rul) get_stock_info(slist,stock_info_rul,output_file) if __name__ == '__main__':
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 团体程序设计天梯赛-练习集 L1-036 A乘以B
- 团体程序设计天梯赛-练习集 L1-015 跟奥巴马一起画方块
- 团体程序设计天梯赛-练习集 L1-011 A-B
- vuepress引入vue-qr组件后build报错navigator is not defined问题
- 团体程序设计天梯赛-练习集 L1-022 奇偶分家
- k8s——针对有状态服务实现数据持久化
- 团体程序设计天梯赛-练习集 L1-017 到底有多二
- 团体程序设计天梯赛-练习集 L1-032 Left-pad
- ansible运行报错CryptographyDeprecationWarning解决
- 团体程序设计天梯赛-练习集 L1-018 大笨钟
- 天啦噜,项目上使用InputStream,我被坑了一把!
- 团体程序设计天梯赛-练习集 L1-019 谁先倒
- 团体程序设计天梯赛-练习集 L1-034 点赞
- 团体程序设计天梯赛-练习集 L1-028 判断素数
- 团体程序设计天梯赛-练习集 L1-039 古风排版