python实战--web.py实战(开发新浪微博应用)

本文介绍了使用Python的web.py框架实战开发新浪微博应用的过程。通过源代码分享和功能展示,阐述了如何实现微博账号登录及部分交互功能,同时指出代码仍有改进空间。
摘要由CSDN通过智能技术生成

刚刚接触web.py,喜欢它的简洁与简单......于是打算实践一下,就有了下面的东西.感觉写的不是很好,有很多需要改进的地方....

源代码下载地址:点击打开链接

主要代码如下:

#coding=utf-8
"""
本应用主要功能
1.用户选择喜欢的标签加关注
2.获取用户粉丝中自己还没有关注的,->加关注,提高粉丝稳定性
3.获取用户关注列表中没有回粉的,并可以一键取消关注
2,3两个功能基本实现,有一缺点,数据量一大,很慢很慢
1功能不太好,主要是通过一个线程去搜索数据,把感兴趣的用户放入数据库,当用户选择加关注标签时,从数据库中取数据,
以前用sqlite3比较少,一用发现还是有好多值得研究的地方,主要是线程安全....,慢慢研究....
"""

import os
import sys
import key
import web
import threading
import sqlite3
import time
from weibopy.auth import OAuthHandler
from weibopy.api import API
from jinja2 import Environment,FileSystemLoader

"""
url配置
"""
urls = (
     '/', 'Login',
     '/index','Index',
     '/callback','CallBack',
     '/logout','LogOut',
     '/(.*)/', 'Redirect',
     '/tag', 'Tag',
     '/noattention','Noattention',
     '/fensiattention','Fensiattention',
     '/minusattention','Minusattention',
     '/delattention','Delattention'
 )

app=web.application(urls,globals())

if web.config.get('_session') is None:
     session = web.session.Session(app,web.session.DiskStore("sina"))
     web.config._session = session
else:
     session = web.config._session

"""
   用jinja2模板渲染文件
"""
def render_template(template_name,**context):
     extensions=context.pop('extensions',[])
     globals=context.pop("globals",{})
     jinja_env=Environment(
         loader=FileSystemLoader(os.path.join(os.path.dirname(__file__),'templates')),
         extensions=extensions)
     jinja_env.globals.update(globals)
     return jinja_env.get_template(template_name).render(context)


"""
定义404请求页面
"""
def notfound():
     info="亲,您所请求的页面不存在,系统在3秒后自动返回..."
     return web.notfound(render_template('error.html',info=info.decode('utf-8')))

db=web.database(dbn='sqlite',db='tag.s3db')

"""
要求tag
"""
tagdict={'水瓶座':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,'IT':32,'媒体':33,'营销':34}
systag=['水瓶座','双鱼座','白羊座','金牛座','双子座','巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座','摩羯座','吃','听歌','淘宝',
        '网购','数码','摄影','睡觉','旅游','体育','动漫','游戏','股票','交友','宅女','宅男','时尚','浪漫','美女','创业','IT','媒体','营销']

conn=sqlite3.connect('tag.s3db',check_same_thread=False) #允许其它线程使用这个连接
conn.text_factory = str
cursor=conn.cursor()

class Setag(threading.Thread):
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值