#!/usr/bin/env python2#-*-coding:utf-8-*-

'''@version: python2.7

@author: ‘zyjsuper‘

@license: Apache Licence

@software: PyCharm

@file: gettodb.py

@time: $2019-10-03 10:01'''

#导入需要使用到的模块

importurllibimportreimportpandas as pdimportpymysqlimportos#爬虫抓取网页函数

defgetHtml(url):

html=urllib.request.urlopen(url).read()

html= html.decode('utf-8')returnhtml#抓取网页股票代码函数

defgetStackCode(html):

s= r'

'pat=re.compile(s)

code=pat.findall(html)returncode#########################开始干活############################

Url = 'http://quote.eastmoney.com/stocklist.html' #东方财富网股票数据连接地址

filepath = '/Users/zyjsuper/Documents/data' #定义数据文件保存路径#实施抓取

code =getStackCode(getHtml(Url))#获取所有股票代码(以6开头的,应该是沪市数据)集合

CodeList =[]for item incode:if item[0] == '6':

CodeList.append(item)#抓取数据并保存到本地csv文件

for code inCodeList:print('正在获取股票%s数据' %code)

url= 'http://quotes.money.163.com/service/chddata.html?code=0' + code +\'&end=20161231&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP'urllib.request.urlretrieve(url, filepath+ code + '.csv')##########################将股票数据存入数据库###########################

#数据库名称和密码

name = 'cipuser'password= 'cippass' #替换为自己的账户名和密码#建立本地数据库连接(需要先开启数据库服务)

db = pymysql.connect('192.168.128.130', name, password, charset='utf8')

cursor=db.cursor()#创建数据库stockDataBase

#sqlSentence1 = "create database stockDataBase"#cursor.execute(sqlSentence1) # 选择使用当前数据库

sqlSentence2 = "use stockDataBase;"cursor.execute(sqlSentence2)#获取本地文件列表

fileName = ''data= ''fileList=os.listdir(filepath)#依次对每个数据文件进行存储

for fileName infileList:try:

data= pd.read_csv(filepath + fileName, encoding="gbk")#创建数据表,如果数据表已经存在,会跳过继续执行下面的步骤print('创建数据表stock_%s'% fileName[0:6])

sqlSentence3 = "create table stock_%s" % fileName[0:6] + "(日期 date, 股票代码 VARCHAR(10), 名称 VARCHAR(10),\

收盘价 float, 最高价 float, 最低价 float, 开盘价 float, 前收盘 float, 涨跌额 float, \

涨跌幅 float, 换手率 float, 成交量 bigint, 成交金额 bigint, 总市值 bigint, 流通市值 bigint)"cursor.execute(sqlSentence3)except:print('数据表已存在!')#迭代读取表中每行数据,依次存储(整表存储还没尝试过)

print('正在存储stock_%s' % fileName[0:6])

length=len(data)for i inrange(0, length):

record=tuple(data.loc[i])#插入数据语句

try:

sqlSentence4= "insert into stock_%s" % fileName[0:6] + "(日期, 股票代码, 名称, 收盘价, 最高价, 最低价, 开盘价, 前收盘, 涨跌额, 涨跌幅, 换手率, \

成交量, 成交金额, 总市值, 流通市值) values ('%s',%s','%s',%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)" %record#获取的表中数据很乱,包含缺失值、Nnone、none等,插入数据库需要处理成空值

sqlSentence4 = sqlSentence4.replace('nan', 'null').replace('None', 'null').replace('none', 'null')

cursor.execute(sqlSentence4)except:#如果以上插入过程出错,跳过这条数据记录,继续往下进行

break

#关闭游标,提交,关闭数据库连接

cursor.close()

db.commit()

db.close()###########################查询刚才操作的成果##################################

#重新建立数据库连接

db = pymysql.connect('192.168.128.130', name, password, 'stockDataBase')

cursor=db.cursor()#查询数据库并打印内容

cursor.execute('select * from stock_600000')

results=cursor.fetchall()for row inresults:print(row)#关闭

cursor.close()

db.commit()

db.close()

python爬虫企业数据_python爬取企业名录并入库相关推荐

  1. python爬虫天气数据_Python爬取真气网天气数据

    使用工具:pycharm,Chrome driver 使用库:selenium 前言: 我们无时无刻不在呼吸着周围的空气, 可身边的空气质量怎样呢? 嗯~~~ 大多数人会沉思一会儿, 最后还是会说:不 ...

  2. python获取游戏数据_Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是.........

    原标题:Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是...... 作者 |量化小白H 责编 | 胡巍巍 本文爬取了豆瓣游戏网站上所有可见的游戏评分数据进行分析,全文包括以下几 ...

  3. python爬虫下载小说_python 爬取小说并下载的示例

    代码 import requests import time from tqdm import tqdm from bs4 import BeautifulSoup """ ...

  4. python爬虫好友图片_Python爬取所有微信好友头像,制作微信好友图片墙

    今天咱就试试怎么爬取微信列表中所有好友的头像,并做成一张图片墙,代码不长,60 行就可以搞定. 核心是利用三个库:wxpy 库,用于获取好友头像然后下载 Pillow 库,用于拼接头像 Pyinsta ...

  5. python爬虫微博图片_python爬取微博图片及内容

    import random import urllib.request import json import re import requests import time id=(input(&quo ...

  6. python 分析外汇数据_Python爬取中国银行外汇牌价(statsmodels预测分析)--(二)

    Author: sunhailin-Leo E-mail:379978424@qq.com 简介 如果数据还没获取到的话请移步看第一篇文章(本篇文章默认数据已存储在 数据库 中) 步入正题 上一篇文章 ...

  7. 数据采集与存储案例——基于Python爬虫框架Scrapy的爬取网络数据与MySQL数据持久化

    此案例需要预先安装pymsql python3.7.4 scrapy2.7.1 一.安装scrapy框架 1.使用pip命令安装scrapy pip install scrapy 在这里下载太慢可以使 ...

  8. python爬虫实战之异步爬取数据

    python爬虫实战之异步爬取数据 文章目录 前言 一.需求 二.使用步骤 1.思路 2.引入库 3.代码如下 总结 前言 python中异步编程的主要三种方法:回调函数.生成器函数.线程大法. 以进 ...

  9. python爬虫 豆瓣影评的爬取cookies实现自动登录账号

    python爬虫 豆瓣影评的爬取cookies实现自动登录账号 频繁的登录网页会让豆瓣锁定你的账号-- 网页请求 使用cookies来实现的自动登录账号,这里的cookies因为涉及到账号我屏蔽了,具 ...

最新文章

  1. 对F-score的理解
  2. 热修复框架AndFix【源码阅读】
  3. 【Python基础】快速入门Python(讲解、习题)
  4. GPT v.s. 中国象棋:写过文章解过题,要不再来下盘棋?
  5. plsql强制关闭后再打开提示已停止工作的解决办法
  6. 史上最全Git学习教程
  7. Android 多选列表
  8. SQL SERVER 收缩数据库的命令
  9. 幽灵java进程引起的: FATAL ERROR in native method
  10. My first App Encrypt Wheel is Ready to Download!
  11. Layout自动布局(2)-手写代码
  12. RabbitMQ常用交换机模式总结
  13. Java运算符和类型转换
  14. CAD迷你看图 for Mac(强大的cad看图软件)
  15. Matlab快速傅里叶变换
  16. 中科院分区基础版和升级版究竟有何区别?
  17. cass坡度土方计算案例_cass7.0土方计算详解
  18. ERP财务管理系统主要解决的问题有哪些
  19. 数据包络分析--SBM模型(第一篇)
  20. 基于安卓的视频遥控小车

热门文章

  1. 工具推荐:ST-MCU-FINDER(ST意法半导体MCU选型,产品查找工具)
  2. PDManer安装教程
  3. PDManer支持的数据库系统
  4. vulhub打靶第一周
  5. 在路径没问题的情况下,组件报错Component is not found
  6. 16秋计算机科学与技术鲁嘉华第七章
  7. tcla919刷机成功!!!
  8. DP动态规划--最大子段和问题
  9. Flash从入门到实践系列(一):环境安装
  10. 贪心算法:数列极差问题