日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2023/12/10 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

要觀察信息的發送情況,在時間上做更改就能看到網站的發送情況。

image.png

還是F12.

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'))

可見返回的是

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':存在就添加,不存在就創建

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的python+mysql库+json_用python写爬虫-5.1json用pandas入mysql库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。