使用Python爬虫获取上交所和深交所所有股票的名称和交易信息

功能描述

目标

获取上交所和深交所所有股票的名称和交易信息

输出

保存到文件中

技术路线

requests-bs4-re

候选数据网站的选择``

网易财经:https://money.163.com/stock/
新浪股票:http://finance.sina.com.cn/stock

选取原则

股票信息静态存在HTML页面中,非js代码生成,没有robots协议限制

选取方法

浏览器F12,源代码查看等

程序的结构设计

步骤1:

从网易财经获取股票列表

步骤2:

根据股票列表逐个到网易财经获取个股信息

步骤3:

将结果存储到文件

import re
import requests
from bs4 import BeautifulSoup
codepath = 'code.txt'
def gethtml(url):try:headers = {'User-Agent': 'Mozilla/5.0'}r = requests.get(url, headers=headers)r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:return ''
def getcodelist(url, page):for p in range(0, page+1):codeurl = url+str(p)html = gethtml(codeurl)als = re.findall(r'<a href="http://quotes.money.163.com/.'r'*.html#11a01" target="_blank">[0-9]*</a>', html)for a in als:soup = BeautifulSoup(a, 'html.parser')code = soup.get_text()with open(codepath, 'a') as c:c.write(code + '\n')c.close()def savestocklist(stockurl):with open(codepath,'r') as c:for r in c.readlines():try:url = stockurl+'0'+r.replace('\n', '')+'.html'html = gethtml(url)soup = BeautifulSoup(html, 'html.parser')tittles = soup.select("body  script")stock_tag = tittles[4]stl = stock_tag.get_text().replace(' ', '')st = re.findall(r'\'.*\'', stl)stock = {'name': st[0],'code': st[1],'price': st[2],'change': st[3],'yesterday': st[4],'today': st[5],'high': st[6],'low': st[7]}with open('stock.txt', 'a', encoding='utf-8') as t:t.write(str(stock)+'\n')t.close()except:url = stockurl + '1' + r.replace('\n', '') + '.html'html = gethtml(url)soup = BeautifulSoup(html, 'html.parser')tittles = soup.select("body  script")stock_tag = tittles[4]stl = stock_tag.get_text().replace(' ', '')st = re.findall(r'\'.*\'', stl)stock = {'name': st[0],'code': st[1],'price': st[2],'change': st[3],'yesterday': st[4],'today': st[5],'high': st[6],'low': st[7]}with open('stock.txt', 'a', encoding='utf-8') as t:t.write(str(stock) + '\n')t.close()def main():url = 'http://quotes.money.163.com/data/caibao/yjyg_00.html' \'?reportdate=20190930&sort=reportdate&order=desc&page='stockurl ='http://quotes.money.163.com/'page = 2getcodelist(url, page)savestocklist(stockurl)main()

使用Python爬虫获取上交所和深交所所有股票的名称和交易信息相关推荐

  1. 利用爬虫下载上交所和深交所年报并分析委托贷款情况

    最近应刘老板要求,写了一个程序帮她分析委托贷款情况.第一部分是如何用Python爬虫下载上交所深交所年报,第二部分是讲怎么对爬取下来的年报PDF做处理 爬取年报 上交所 首先上交所公告信息的链接如下, ...

  2. Python爬虫获取文章的标题及你的博客的阅读量,评论量。所有数据写入本地记事本。最后输出你的总阅读量!

    Python爬虫获取文章的标题及你的博客的阅读量,评论量.所有数据写入本地记事本.最后输出你的总阅读量!还可以进行筛选输出!比如阅读量大于1000,之类的! 完整代码在最后.依据阅读数量进行降序输出! ...

  3. python Chrome + selenium自动化测试与python爬虫获取网页数据

    一.使用Python+selenium+Chrome 报错: selenium.common.exceptions.SessionNotCreatedException: Message: sessi ...

  4. 域名带后缀_[Python 爬虫]获取顶级域名及对应的 WHOIS Server 及 whoisservers.txt 下载...

    使用 Python 爬虫获取顶级域名及对应的 WHOIS Server 并保存可用于 WhoisCL.exe 的文件 whois-servers.txt. 环境: Windows 10 Python ...

  5. python爬虫获取url_Python爬虫如何获取页面内所有URL链接?本文详解

    如何获取一个页面内所有URL链接?在Python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...

  6. python爬虫获取下一页url_Python爬虫获取页面所有URL链接过程详解

    如何获取一个页面内所有URL链接?在python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...

  7. 突破次元壁障,Python爬虫获取二次元女友

    突破次元壁障,Python爬虫获取二次元女友 前言 程序说明 二次元女友获取程序 观察网页结构 页面解析 创建图片保存路径 图片下载 格式转换 爬取结果展示 完整程序 前言 (又到了常见的无中生友环节 ...

  8. Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3)

    Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3) 1. 异步加载爬虫 对于静态页面爬虫很容易获取到站点的数据内容,然而静态页面需要全量加载站点的所有数据,对于网站的访问 ...

  9. Python爬虫 | Python爬虫获取女友图片

    Python爬虫 | Python爬虫获取女友图片 前言 程序说明 二次元女友获取程序 观察网页结构 页面解析 创建图片保存路径 图片下载 格式转换 爬取结果展示 完整程序 前言 (又到了常见的无中生 ...

最新文章

  1. 技巧:两部解决U盘安装windows 7
  2. h5的语义化部分_H5 部分新语义化标签
  3. 浅谈贷后管理之贷后跟踪——微金时代解决方案
  4. 关于深度学习,这些知识点你需要了解一下
  5. 5.1 入门整合案例(SpringBoot+Spring-data-elasticsearch) ---- good
  6. kafka再均衡监听器测试
  7. SharePoint REST API - 确定REST端点URL
  8. 后端基础概念:各种OCV一网打尽(下篇)
  9. 实战Swiper:利用Swiper制作手机全屏相册
  10. Python2.7学习笔记-定义函数、filter/map/reduce/lambda
  11. WPF 视频教程+笔记
  12. BTA12A-ASEMI的12A双向可控硅IGBT管
  13. c#未能加载程序集oracle.dataaccess,未能加载文件或程序集“Oracle.DataAccess, Version=2.112.1.0...
  14. 公告或通知的未读 设计(MySQL Redis)
  15. 关于ADS1292测心率心电的一些学习总结
  16. Roson的Qt之旅 #114 QML Repeater(重复器)
  17. redis C接口hiredis 简单函数使用介绍
  18. latch: cache buffers chains故障处理总结
  19. 公司组织结构图用PPT制作?
  20. 【一起撸个DL框架】1 绪论

热门文章

  1. 美观实用的文本编辑器-C#源码
  2. html 发光字,介绍几种常见发光字的制作步骤方法
  3. WordPress自适应主题Puock v2.4/白天暗夜高颜值无刷新加载首页支持三种布局
  4. 区块链和机器学习的爱恨情仇?
  5. cocos2d-x与着色器设计--入门篇(游云凌天原创)
  6. 【软件工程】五、面向对象方法学 软件项目管理
  7. 第二篇:可靠连接,TCP协议全解析
  8. 计算机对油画发展的影响,【西方艺术油画长廊对近现代油画的发展起到怎么样的推动作用?】- 环球网校...
  9. 好程序员:Java培训机构“包就业”,真的是包就业吗?
  10. 客服要了解的追评话术