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,一经查实,立即删除!

相关文章

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

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

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-----------------------------------…

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

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

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

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

[转]什么是RSS

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

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

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

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

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

codeforce 606A - Magic Spheres

题意&#xff1a;a,b,c三种球&#xff0c;能把俩个一样的球变成另一颜色不一样的球。给你目标x,y,z&#xff0c;问能否经过变化至少达打目标。 1 #include<iostream>2 #include<stdio.h>3 #include<stdlib.h>4 #include<memory.h>5 #include<string…

cmd cd 无法切换目录_一分钟掌握cmd基础操作,告别鼠标

cmd基础操作cmdcmd是command的缩写&#xff0c;一直伴随着windows操作系统。有时称为&#xff1a;控制台窗口&#xff0c;cmd窗口&#xff0c;黑窗口&#xff0c;命令行窗口等。其实&#xff0c;在unix系统&#xff0c;Linux&#xff0c;MacOS等几乎所有的操作系统中&#xff0…

css 背景图怎么设置自动填充满_CSS属性设置 -- 背景样式

Ⅰ background-color: -- 设置标签的背景颜色rgba(0,0,0,0.65); -- (红,緑,蓝三原色,透明度)只能给背景设置透明度opacity: 0.65; -- 改变整个标签的透明度<style>Ⅱ background-image: --设置标签的背景图片url("图片网址"); -- 如果图片的大小没有标签大&…

php开发客服系统(持久连接+轮询+反向ajax)

欢迎在php严程序 - php教程学习AJAX教程, 本节课讲解&#xff1a;php开发客服系统(持久连接轮询反向ajax) php开发客服系统(下载源码) 用户端(可直接给客户发送消息)客服端(点击用户名.即可给该用户回复消息) 讲两种实现方式&#xff1a;一&#xff1a;iframe 服务器推技术com…

c语言判断整数_C语言技能|(草稿,不断完善中...)

2020年春考C语言有2个题型&#xff1a;填空&#xff0b;程序程序填空涉及&#xff1a;一、头文件的引用1.必有#include (注意&#xff1a;在devC 5.10中#include "stdio.h"也是正确的)2.若程序中使用数学函数&#xff0c;应加上头文件#include 3.头文件结尾无分号二、…

python生成器迭代_python中的生成器和迭代器

前言&#xff1a; 我们来了解一下什么是python中生成器。了解一下python生成器是什么&#xff0c;以及生成器在python编程之中能起到什么样的作用。 定义&#xff1a; 生成器和迭代器 通过列表生成式&#xff0c;我们可以直接创建一个列表。但是&#xff0c;受到内存限制&#…

python 生成pdf_如何使用Python生成PDF?

在日常办公中&#xff0c;我们会经常使用PDF文件。生成PDF的方法有很多&#xff0c;其中Python就可以。你知道怎么使用Python也可以生成PDF吗&#xff1f;下面来和小编一起学习下吧。首先我们访问网址&#xff1a;https://wkhtmltopdf.org/downloads.html &#xff0c;根据自己…

java 代码重用需要注意的事项_程序员笔记|编写高性能的Java代码需要注意的4个问题...

一、并发无法创建新的本机线程......问题1&#xff1a;Java的中创建一个线程消耗多少内存&#xff1f;每个线程有独自的栈内存&#xff0c;共享堆内存问题2&#xff1a;一台机器可以创建多少线程&#xff1f;CPU&#xff0c;内存&#xff0c;操作系统&#xff0c;JVM&#xff0…

java vbs_VBS基础篇 - vbscript Dictionary对象

Dictionary是存储数据键和项目对的对象&#xff0c;其主要属性有Count、Item、Key&#xff0c;主要方法有Add、Exists、Items、Keys、Remove、RemoveAll。创建Dictionary对象定义并创建Dictionary对象&#xff0c;使用CreateObject创建并返回自动化对象的引用Dim DicSet Dic C…

java integer最大值_五分钟学会java中的基础类型封装类

在刚刚学习java的时候&#xff0c;老师不止一次的说过java是一种面向对象的语言&#xff0c;万物皆对象。对于java中的基础数据类型&#xff0c;由于为了符合java中面向对象的特点&#xff0c;同样也有其封装类。这篇文章对其有一个认识。一、基本认识其实在jdk1.5之前&#xf…

web.xml文件位于web项目的目录结构中的_看完这篇,别人的开源项目结构应该能看懂了...

我为什么要写这篇近来&#xff0c;和不少初学Spring或Spring Boot的小伙伴私信交流了关于项目目录结构划分和代码分层的问题。很多小伙伴表示网上下载下来的开源项目看不懂&#xff0c;项目结构和代码分层看得很蒙&#xff0c;不知道应该以一个什么样的思路去学习和吸收别人的项…

mysql workbench中文设置_使用Workbench完成流体压力渗透分析

“之前的案例&#xff0c;APDL Showcase3里使用到了流体压力渗透载荷。有朋友读到以后&#xff0c;希望能在Workbench里实现这一功能。有需求就有动力&#xff0c;我们来试一试。 ”01—结果展示先看计算结果&#xff1a;(为了截图方便将模型旋转了90度)该案例为轴对称模型&…