色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python 抓取數(shù)據(jù)存儲(chǔ)到Redis中的操作

瀏覽:95日期:2022-07-17 11:53:00

redis是一個(gè)key-value存儲(chǔ)結(jié)構(gòu)。和Memcached類(lèi)似,它支持存儲(chǔ)的value類(lèi)型相對(duì)更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set 有序集合)和hash(哈希類(lèi)型),數(shù)據(jù)存儲(chǔ)如下圖分析

Python 抓取數(shù)據(jù)存儲(chǔ)到Redis中的操作

為了分別為ID存入多個(gè)鍵值對(duì),此次僅對(duì)Hash數(shù)據(jù)進(jìn)行操作,例子如下

import os,sysimport requestsimport bs4import redis#連接Redisr = redis.Redis(host=’127.0.0.1’,password=’123456’,port=6379)html = ’https://www.dongmanmanhua.cn/dailySchedule?weekday=MONDAY’result = requests.get(html)texts = result.textdata = bs4.BeautifulSoup(texts,’html.parser’);lidata = data.select(’div#dailyList ul.daily_card li’)#print(lidata)for x in lidata: did = x.get(’data-title-no’) name = x.select(’p.subj’) name1 = name[0].get_text() url = x.a.get(’href’) story = x.a.p story1 = story.string user = x.select(’p.author’) user1 = user[0].get_text() like = x.select(’em.grade_num’) like1 = like[0].get_text() rt = {’did’:did,’name’:name1,’url’:url,’story’:story1,’user’:user1,’like’:like1} #寫(xiě)數(shù)據(jù)到Redis idkey = ’name’+did #hash表數(shù)據(jù)寫(xiě)入命令hmget,可以一次寫(xiě)入多個(gè)鍵值對(duì) r.hmget(idkey,rt) #寫(xiě)入命令hset,一次只能寫(xiě)入一個(gè)鍵值對(duì) r.hset(idkey,’did’,did) r.hset(idkey,’name’,name1) r.hset(idkey,’story’,story1) r.hset(idkey,’url’,url) r.hset(idkey,’user’,user1) r.hset(idkey,’like’,like1) print(’dman哈希表寫(xiě)入成功’) print(r.hget(idkey,’did’)) print(r.hget(idkey,’name’))

Hash 類(lèi)其他常用操作

hset(name,key,value) :name對(duì)應(yīng)的hash中設(shè)置一個(gè)鍵值對(duì),當(dāng)name對(duì)應(yīng)的hash中不存在當(dāng)前key則創(chuàng)建(相當(dāng)于添加) ,否則做更改操作

hget(name,key) : 在name對(duì)應(yīng)的hash中獲取根據(jù)key獲取value

hmset(name,mapping) :在name對(duì)應(yīng)的hash中批量設(shè)置鍵值對(duì) ,mapping:例 {’k1’:’v1’,’k2’:’v2’}

hmget(name,keys,*args) :在name對(duì)應(yīng)的hash中獲取多個(gè)key的值 ,keys:要獲取key的集合,例 [’k1’,’k2’];*args:要獲取的key,如:k1,k2,k3

hgetall(name):獲取name對(duì)應(yīng)hash的所有鍵值

hlen(name):獲取name對(duì)應(yīng)的hash中鍵值的個(gè)數(shù)

hkeys(name):獲取name對(duì)應(yīng)的hash中所有的key的值

hvals(name):獲取name對(duì)應(yīng)的hash中所有的value的值

hexists(name,key):檢查name對(duì)應(yīng)的hash是否存在當(dāng)前傳入的key

hdel(name,*keys):將name對(duì)應(yīng)的hash中指定key的鍵值對(duì)刪除

補(bǔ)充知識(shí):將python數(shù)據(jù)存入redis中,鍵取字符串類(lèi)型

使用redis中的字符串類(lèi)型鍵來(lái)存儲(chǔ)一個(gè)python的字典。首先需要使用json模塊的dumps方法將python字典轉(zhuǎn)換為字符串,然后存入redis,從redis中取出來(lái)必須使用json.loads方法轉(zhuǎn)換為python的字典(其他python數(shù)據(jù)結(jié)構(gòu)處理方式也一樣)。

如果不使用json.loads方法轉(zhuǎn)換則會(huì)發(fā)現(xiàn)從redis中取出的數(shù)據(jù)的數(shù)據(jù)類(lèi)型是bytes.

Python 抓取數(shù)據(jù)存儲(chǔ)到Redis中的操作

當(dāng)使用的python數(shù)據(jù)結(jié)構(gòu)是列表時(shí):

Python 抓取數(shù)據(jù)存儲(chǔ)到Redis中的操作

以上這篇Python 抓取數(shù)據(jù)存儲(chǔ)到Redis中的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 久久99精品国产免费观看 | 黄色作爱视频 | 毛片视频免费观看 | 一级毛片在线免费播放 | 久久免费特黄毛片 | 国产一区二区日韩欧美在线 | 欧美黑粗特黄午夜大片 | 久久成人午夜 | 亚洲激情视频网站 | 精品热线九九精品视频 | 成人欧美日韩视频一区 | 美女视频黄的免费看网站 | 美女视频黄a视频美女大全 美女视频黄a视频免费全程 | 亚洲国产日韩综合久久精品 | 欧美一级毛片免费高清aa | 中文字幕精品视频 | 国产精品三级在线播放 | 亚洲欧美在线免费 | 国产精品无码久久综合网 | 老妇综合久久香蕉蜜桃 | 亚洲精品人成网在线播放影院 | 成人免费高清视频网址 | 国产年成美女网站视频免费看 | 美女视频一区二区三区在线 | 日韩一级片在线观看 | 日本精品久久久久中文字幕 1 | 女人一级一级毛片 | 国产性自拍 | 免费黄网大全 | 一本不卡 | 国产成人精品高清在线 | 男女晚上爱爱的视频在线观看 | 精品国产美女福到在线不卡f | 日韩欧美在线观看 | 成人国产亚洲 | 日本不卡免费高清视频 | 亚洲香蕉久久一区二区 | 国产v精品成人免费视频400条 | 欧美日韩精彩视频 | 日韩一级高清 | 美女免费黄网站 |