python连接redis并插入url

#!/usr/bin/env python
# -*- coding:utf8 -*-

import redis

‘‘‘
这种连接是连接一次就断了,耗资源.端口默认6379,就不用写
r = redis.Redis(host=‘127.0.0.1‘,port=6379,password=‘tianxuroot‘)
r.set(‘name‘,‘root‘)

print(r.get(‘name‘).decode(‘utf8‘))
‘‘‘
‘‘‘
连接池:
当程序创建数据源实例时,系统会一次性创建多个数据库连接,并把这些数据库连接保存在连接池中,当程序需要进行数据库访问时,
无需重新新建数据库连接,而是从连接池中取出一个空闲的数据库连接
‘‘‘
pool = redis.ConnectionPool(host=‘127.0.0.1‘,password=‘helloworld‘)   #实现一个连接池

r = redis.Redis(connection_pool=pool)
r.set(‘foo‘,‘bar‘)
print(r.get(‘foo‘).decode(‘utf8‘))
from bs4 import BeautifulSoup
import requests
from lxml import etree
import redis

pool = redis.ConnectionPool(host=‘127.0.0.1‘, port=6379)
r = redis.Redis(connection_pool=pool)
# r = Redis.from_url("redis://127.0.0.1:6379", decode_responses=True)

def get_urls(url):
    result = requests.get(url)
    selector = etree.HTML(result.text)
    links = selector.xpath(r‘//*[@id="archive"]/div/div[2]/p[1]/a[1]/@href‘)
    for link in links:
        r.sadd("first_urlsss", link)
    next_url = extract_next_url(result.text)
    if next_url:
        get_urls(next_url)

def extract_next_url(html):

    soup = BeautifulSoup(html, "lxml")
    next_url = soup.select(‘a[class="next page-numbers"]‘)
    for url in next_url:

        url = str(url)
        soup = BeautifulSoup(url, "lxml")
        next_url = soup.a["href"]
    return next_url

if __name__ == ‘__main__‘:
    url = "http://python.jobbole.com/all-posts/"
    get_urls(url)

原文地址:https://www.cnblogs.com/z-x-y/p/9377014.html

时间: 2024-08-29 12:50:33

python连接redis并插入url的相关文章

[Redis]python连接redis

只是看看能不能成功使用python操作redis,redis具体的数据结构和使用会在以后学习. 安装连接redis的包 pip install redis 本地已经在6379端口启动了redis服务. In [1]: importredis In [2]: r = redis.StrictRedis(host='localhost', port=6379, db=0) In [3]: r.set('foo', 'bar') Out[3]: True In [4]: r.get('foo') Ou

【小工具】python 连接redis查询

作用说明:通过python连接redis进行查询,判断结果并进行后续操作.需先安装redis-2.10.5.tar.gz. 代码如下: #!/usr/local/bin/python import redis r = redis.StrictRedis(host='192.168.1.100', port=8888, db=0) t = int(r.get('test')) if t > 100:          print t  ####这边可以配置查询到匹配的值后要执行的操作,例如发送邮件

python连接redis

1.安装redis忽略 2.安装python连接redis的模块 yum install python-redis -y #有些人追新,最终导致python连接不到redis,使用yum安装很好的解决了该问题 3.进入python,导入redis 模块 >>> import redis 4.创建redis连接信息 >>> r = redis.Redis(host='172.16.244.206',port=6379,db=0) 5.对redis进行操作: >>

python连接redis,redis集群

python连接redis: import redis r = redis.Redis(host='192.168.50.181',port=6002) r.set('user_phone_14900000001','888888') r.get('user_phone_14900000001') 上面代码如果只执行一条数据是正常的,如果要用for循环批量更改数据连接redis集群,会报错redis.exceptions.ResponseError() 解决方案如下: python连接redis

Python连接Redis连接配置

1. 测试连接: Python 2.7.8 (default, Oct 20 2014, 15:05:19) [GCC 4.9.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import redis >>> redisClient = redis.StrictRe

python连接redis sentinel集群

安装 python redis 客户端 pip install redis #!/usr/bin/env python # -*- coding:utf-8 -*- #!/usr/bin/env python import redis from redis.sentinel import Sentinel # 连接哨兵服务器(主机名也可以用域名) sentinel = Sentinel([('172.31.0.2', 5001), ('172.31.0.3', 5001), ('172.31.0

python连接mysql循环插入千万条数据脚本

之前都是在mysql的存储过程中插入数据,毕竟mysql语法函数有限,很多都有限制.突然想到学了python正好可以练练手. 首先需要安装pymysql模块包(模块包安装请自行百度) 1 #encoding:utf-8 2 import pymysql 3 import time 4 import random 5 #连接mysql 6 db = pymysql.connect('14.29.249.74','kx_admin','Yjh7yC0L7L1G1k6qXKwb','ilock') 7

python 连接redis工具类

#!/usr/bin/python # coding=utf-8 __author__ = 'shuangjiang' import redis import sys default_encoding = 'utf-8' if sys.getdefaultencoding() != default_encoding: reload(sys) sys.setdefaultencoding(default_encoding) class myRedis: def __init__(self,host

python连接redis文档001

Installation redis-py requires a running Redis server. See Redis’s quickstart for installation instructions. To install redis-py, simply: $ sudo pip install redis or alternatively (you really should be using pip though): $ sudo easy_install redis or