python+mysql库+json_用python写爬虫-5.1json用pandas入mysql库

pandas是一个数据处理模块,前面也已经提到了好些,用python写爬虫--4.5pandas存入excel.

这次来统一说一说,使用感想。

pandas主要是Seriers和Dataframe,Seriers相当于list,dataframe相当于excel表格,有行也有列。

这回主要还是说爬取下来的信息入库的问题,假如是爬取页面上的信息,像‘什么值得买’的价格信息啥的,这种就得一个个插入数据库。但是像12306返回的是json,那就用pandas整理一下入库,要方便的多。

还是举个例子。这回爬取的格力电器的历史行情。

网址:http://q.stock.sohu.com/cn/000651/lshq.shtml

要观察信息的发送情况,在时间上做更改就能看到网站的发送情况。

2e12c5bec203?from=singlemessage

image.png

还是F12.

2e12c5bec203?from=singlemessage

image.png

接下来就方便多了。

import requests

def getdata(code,start='20171009',end='20171130'):

url ='http://q.stock.sohu.com/hisHq?code=cn_{}&start={}&end={}&stat=1&order=D&period=d&callback=historySearchHandler&rt=jsonp&r=0.625097909197931&0.266277122911587'

url1 = url.format(code,start,end)

return requests.get(url1).text

print(getdata('000567'))

可见返回的是

2e12c5bec203?from=singlemessage

image.png

这不太像是一个标准的json格式,这只能用正则把有用的信息抓下来,然后转成df。

import requests

import pandas as pd

import re

from sqlalchemy import create_engine

def getdata(code,start='20171009',end='20171130'):

url ='http://q.stock.sohu.com/hisHq?code=cn_{}&start={}&end={}&stat=1&order=D&period=d&callback=historySearchHandler&rt=jsonp&r=0.625097909197931&0.266277122911587'

url1 = url.format(code,start,end)

res = requests.get(url1).text

resp =re.search('{"status":0,"hq":(.*),"code"',res).group(1)

data =eval(resp)

df = pd.DataFrame(data=data)

df.columns=['date','open','close','change','changerate','high','low','vol','volnum','hsl']

df['code'] = code

con = create_engine('mysql://root:123456@localhost:3306/tushare?charset=utf8')

pd.io.sql.to_sql(df,'tick_data',con,schema='tushare',if_exists='append')

data =eval(resp)这是将str转为list,爬取下来的信息都是str,提取[]里信息,data是规整的信息,转化为dataframe比较合适。

create_engine():'数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名'

存入库中就好了 pd.io.sql.to_sql(df,'tick_data',con,schema='tushare',if_exists='append')

df:要存入数据库的dataframe名字

'tick_data':tablename

con:前面的连接数据库信息

schema='tushare':数据库名字

if_exists='append':存在就添加,不存在就创建

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用jquery时一些小技巧的总结

使用 each 遍历 var nodes Ztree.getCheckedNodes(true); //获取所有勾选的节点 $.each(nodes,function(i,value){alert(value.name); }) js对象的声明和二维数组的创建 var ids_str {};$.each(nodes,function(i,value){ids_str[i] {}; //这一步不可或缺,声明…

python爬虫网络请求超时_Python网络爬虫编写5-使用代理,处理异常和超时

# codingutf-8 ”’ 从同一个地址发出的http请求过多过频繁,都可能被网站给封掉 要解决这个问题,就需要不停地更换代理 同时,如果在用urllib2访问url的时候出现错误 可以用python的异常处理机制获取错误内容 最后,urlopen可以指定…

uilabel 自行撑开高度_IOS UILabel自適應里面的文字,自動調整寬度和高度的

UILabel *label [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];//后面還會重新設置其size。[label setNumberOfLines:0];NSString *s "string......";UIFont *font [UIFont fontWithName:"Arial" size:12];CGSize size CGSizeMake(320,2000);C…

pdf温度记录仪开发_蔬菜、鲜果、奶制品冷链温度监控系统监控食品让客户放心...

冷链温度监控系统对于蔬菜鲜果奶制品的冷藏,不仅有助于减慢它们的腐坏速度,保持新鲜,而且对全国物品的运输和合理配置有极大的影响。选择GPS冷链温度监控食品传输过程让客户不再担心质量问题,人们也吃的放心。在多年自主开发GPS物…

基于MLlib的机器学习--协同过滤与推荐

《Spark快速大数据分析》11.5.4 协同过滤与推荐协同过滤是一种根据用户对各种产品的交互与评分来推荐新产品的推荐系统技术。协同过滤引入的地方就在于它只需要输入一系列用户/产品的交互记录;无论是显式的交互(例如在购物网站上进行评分)还是隐式的(例如用户访问了…

python中什么是数据驱动_Python数据驱动DDT的应用

原标题:Python数据驱动DDT的应用 在开始之前,我们先来明确一下什么是数据驱动,在百度百科中数据驱动的解释是:数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试&#xff…

2008日志清理 server sql_SQL Server 2008 收缩日志 清空删除大日志文件

由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:(SQL2005)BackupLog DNName with no_loggodumptransaction DNName with no_loggoUSE DNNameDBCC SHRINKFILE (2)Go-----------------------------------…

邻结矩阵的建立和 BFS,DFS;;

邻结矩阵比较简单,, 它的BFS,DFS, 两种遍历也比较简单,一个用队列, 一个用数组即可!!!但是邻接矩阵极其浪费空间,尤其是当它是一个稀疏矩阵的时候!!&#xff…

matlab cuda的.cu文件应该放在那里_无人机基于Matlab/Simulink的模型开发(连载一)

“一切可以被控制的对象,都需要被数学量化”这是笔者从事多年研发工作得出的道理,无论是车辆控制,机器人控制,飞机控制,还是无人机控制,所有和机械运动相关的控制,如果不能被很好的数学量化&…

java ask to_Java native和ASCII 互转工具Native2AsciiUtils.java下载

/** Copyright 2012-2013 The Haohui Network Corporation*/package com.haohui.common.utils;/*** Java Native和Ascii转换代码** project common-utils* author cevencheng * create 2012-11-7 下午4:16:57*/public class Native2AsciiUtils {/*** prefix of ascii string of…

go java性能_服务端I/O性能大比拼:Node、PHP、Java和Go

理解应用程序的输入/输出(I/O)模型,意味着其在计划处理负载与残酷的实际使用场景之间的差异。若应用程序比较小,也没有服务于很高的负载,也许它影响甚微。但随着应用程序的负载逐渐上涨,采用错误的I/O模型有可能会让你到处踩坑&am…

python爬取数据步骤_Python爬虫爬取数据的步骤

爬虫: 网络爬虫是捜索引擎抓取系统(Baidu、Google等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 步骤: 第一步:获取网页链接 1.观察需要爬取的多网页的变化规律…

Android开发日记(六)

textViewUserName.setCursorVisible(false);//隐藏光标 textViewUserName.setFocusable(false);//失去焦点 textViewUserName.setFocusableInTouchMode(false);//虚拟键盘隐藏 if(!userLocalName.equalsIgnoreCase("null")&&!userLocalEmail.equalsIgnoreCa…

python数据库安装_python数据库-MySQL安装问题总结(48)

一、ERROR 1698(28000):Access denied for user rootlocalhost错误 我的操作系统是ubuntu:我的MySQL版本是:安装完成后,登录mysql的时候就出现了如下错误:因为安装的过程中没让设置密码,可能密码为空,但无论…

java io 文件路径_如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径...

如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径我有一个包含2个包的项目:ListStopWords.txtListStopWords.txt在包(2)中我有一个文本文件ListStopWords.txt,在包(1)中我有一个类FileLoadder.这是代码FileLoader&#xff…

[转]什么是RSS

http://www.blogbus.com/bangzhuzhongxin-logs/5452786.html 如果您够仔细的话,一定会发现BlogBus的每一个Blog站上都会有一个 图标。这个图标表示Blogbus支持RSS功能(目前是RSS 2.0),即所谓的新闻聚合功能。 点击 图标&#xf…

京东的商品搜索功能是如何实现的_如何精准查询京东商品销量?分享一个京东运营小妙招...

京东平台和其他平台商品信息展示不一样,在京东平台商品的销售额无论是累计的还是当月的数据都没有展示,即便是通过商家后台的京东商智也是只能看到销售额的指数,这就给京东商家做竞品分析时设置了障碍,无法获取到竞品的真实销售额…

java zip解压进度条_java读取文件显示进度条的实现方法

实现这个功能比较简单,用到的类有两个:progressmonitorinputstream(主要是整个类) 和 progressmonitor ,它们在javax.swing中大体思路,你要首先知道整个文件的大小,和当前已经读取文件的大小,获得整个文件大…

ubuntu下软件中心闪退问题解决

前段时间不知道做了什么导致,ubuntu下的软件中心进不去。没事点开后就立马闪退出去。 然后重新安装软件中心解决了 重装命令: sudo apt-get install --reinstall software-center software-center-aptdaemon-plugins 当然也可以选择用其他包管理器&#…

python 可视化监控平台_python可视化篇之流式数据监控的实现

preface 流式数据的监控,以下主要是从算法的呈现出发,提供一种python的实现思路 其中: 1.python是2.X版本 2.提供两种实现思路,一是基于matplotlib的animation,一是基于matplotlib的ion 话不多说,先了解大概…