Python 캡 처 데 이 터 를 Redis 에 저장 하 는 동작
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 = '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 데이터 구조 가 목록 일 때:
이상 의 Python 캡 처 데 이 터 를 Redis 에 저장 하 는 작업 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.