Python 抓取資料儲存到Redis中的操作

2022-09-27 06:06:06 字數 2301 閱讀 9125

redis是乙個key-value儲存結構。和memcached類似,它支援儲存的value型別相對更多,包括string(字串)、list(鍊錶)、set(集合)、zset(sorted set 有序集合)和hash(雜湊型別),資料儲存如下圖分析

為了分別為id存入多個鍵值對,此次僅對hash資料進行操作,例子如下

import os,sys

import requests

import bs4

import redis

#連線redis

r = redis.redis(host='127.0.0.1',password='123456',port=6379)

html = ''

result = requests.get(html)

texts = result.text

data = bs4.beautifulsoup(texts,'html.parser');

lidata = data.select(www.cppcns.com'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 =

#寫資料到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,kwww.cppcns.comey) : 在name對應的hash中獲取根據key獲取value

hmset(name,mapping) :在name對應的hash中批量設定鍵值對 ,mapping:例

hmget(name,kyfotoqweys,*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資料結構是列表時:

本文標題: python 抓取資料儲存到redis中的操作

本文位址:

Python 抓取資料儲存到Redis中

redis是乙個key value儲存結構。和memcached類似,它支援儲存的value型別相對更多,包括string 字串 list 鍊錶 set 集合 zset sorted set 有序集合 和hash 雜湊型別 資料儲存如下圖分析 為了分別為id存入多個鍵值對,此次僅對hash資料進行操...

python抓取省市區的資料並儲存到mysql中

如下 coding utf 8 python 抓取網頁資料 需要預先安裝外掛程式 python m pip install beautifulsoup4 python m pip install lxml import requests from bs4 import beautifulsoup i...

python資料儲存到檔案

1 使用open與print進行資料儲存到檔案 filename列表形式檔名 def write file filename try for item name in filename out file open item name,w 寫模式開啟檔案,並賦值至檔案物件 data this is i...