国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python 抓取數據存儲到Redis中的操作

Python 抓取數據存儲到Redis中的操作

2020-07-16 12:24木楉。 Python

這篇文章主要介紹了Python 抓取數據存儲到Redis中的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

redis是一個key-value存儲結構。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set 有序集合)和hash(哈希類型),數據存儲如下圖分析

Python 抓取數據存儲到Redis中的操作

為了分別為ID存入多個鍵值對,此次僅對Hash數據進行操作,例子如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import os,sys
import requests
import bs4
import redis
 
#連接Redis
r = 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.text
 
data = 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}
 
 #寫數據到Redis
 idkey = 'name'+did
 #hash表數據寫入命令hmget,可以一次寫入多個鍵值對
 r.hmget(idkey,rt)
  
 #寫入命令hset,一次只能寫入一個鍵值對
 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哈希表寫入成功')
 print(r.hget(idkey,'did'))
 print(r.hget(idkey,'name'))

Hash 類其他常用操作

hset(name,key,value) :name對應的hash中設置一個鍵值對,當name對應的hash中不存在當前key則創建(相當于添加) ,否則做更改操作

hget(name,key) : 在name對應的hash中獲取根據key獲取value

hmset(name,mapping) :在name對應的hash中批量設置鍵值對 ,mapping:例 {'k1':'v1','k2':'v2'}

hmget(name,keys,*args) :在name對應的hash中獲取多個key的值 ,keys:要獲取key的集合,例 ['k1','k2'];*args:要獲取的key,如:k1,k2,k3

hgetall(name):獲取name對應hash的所有鍵值

hlen(name):獲取name對應的hash中鍵值的個數

hkeys(name):獲取name對應的hash中所有的key的值

hvals(name):獲取name對應的hash中所有的value的值

hexists(name,key):檢查name對應的hash是否存在當前傳入的key

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

補充知識:將python數據存入redis中,鍵取字符串類型

使用redis中的字符串類型鍵來存儲一個python的字典。首先需要使用json模塊的dumps方法將python字典轉換為字符串,然后存入redis,從redis中取出來必須使用json.loads方法轉換為python的字典(其他python數據結構處理方式也一樣)。

如果不使用json.loads方法轉換則會發現從redis中取出的數據的數據類型是bytes.

Python 抓取數據存儲到Redis中的操作

當使用的python數據結構是列表時:

Python 抓取數據存儲到Redis中的操作

以上這篇Python 抓取數據存儲到Redis中的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/lovele-/p/9800202.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久专区 | 欧美人成在线视频 | 狠狠天天 | 亚洲人人射 | 国产精品久久久久久久久久三级 | 1000部精品久久久久久久久 | 国产综合网站 | 欧美一区二区三区的 | 国产精品一二 | 亚洲男性天堂 | 国产精彩视频 | 最新中文字幕在线 | 欧美精品成人 | 亚洲福利社区 | 国产精品久久99 | 日韩国产欧美 | 亚洲精品片| 一区视频在线 | 亚洲精品久久久久久久久久吃药 | 高清一区在线 | 欧美一区亚洲二区 | 久久久久久综合 | 亚洲精品久久久久久久久久久 | 欧美精品在线一区 | 91精品国产91久久久久久最新 | 日本黄色一级 | 波多野结衣中文字幕一区二区三区 | 亚洲精品一 | 91在线| 亚洲一区| 日韩亚洲在线 | 久久久久久久久国产 | 视频一区在线观看 | 免费在线看黄 | 亚洲天堂五码 | 久久综合久久久 | 中文字幕av在线 | 黄色一级片a | 国产毛片久久久 | 国产成人一区二区啪在线观看 | 免费观看电视在线高清视频 |