用python 游戏后端写游戏的后端服务器,有什么好的实践

什么是游戏后端?大多数公司用python做游戏用什么框架?(pygame就算了..)? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。332被浏览<strong class="NumberBoard-itemValue" title="8分享邀请回答4413 条评论分享收藏感谢收起秋水时至,百川灌河
原来python开发后端服务器还可以这么简单(未完成)
原来python开发后端服务器还可以这么简单(未完待续)
作为一个android开发者,工作和生活中想写一个服务器作为测试,可是都很麻烦。这两天跟着书写了python+Django的管理系统,另外提供web接口可以给前端使用。本次项目使用pycharm编辑器,版本python 3.5。下面将一步步从零基础开发出此项目。.效果图:
1.python基础学习(可以跳过)
对于python基础语法学习,当然看下廖老师的文章就可以了。里面有安装及如何使用
当然我还是更喜欢用编辑器开发,pycharn的下载地址如下(下载专业版更好):
使用pip命令下载安装django:
在cmd 命令窗口输入 python,安装成功即可显示python版本
python安装成功后,输入pip命令既可以查看pip是否成功:
成功后,使用pip 安装Django,输入如下命令:pip install django
片刻既可以安装成功。另外pip uninstall django卸载django
打开pycharm,和其他IDEAu常用一样,我们创建django项目:
准备结束,下面就可以开始我们的正式项目了
2.Django实现网站系统
django文件说明
templates文件夹我们存放html文件,Test是我们项目,Test1是我们的应用。urls.py负责存放路径
views.py用于写我们方法。models.py是数据库映射。
3.开发web接口
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!有没有什么专门教用python写后端的课程_百度知道
有没有什么专门教用python写后端的课程
我有更好的答案
Node.js 与 Python 作为后端服务的编程语言各有什么优劣看过Node.js Web和Node下ExpressWeb框架的开发代码,觉得其好处是和前端同一个语言,相对也属于比较轻的,于是框架技术设施提供的特性有限。而PythonWeb系相对选择就很多,目前流行的Flask和Django,Flask相对比较轻,Django属于All In One,Web开发的东西基本都囊括进来了。而且PythonWeb下除了上面这两个,还有更多的框架和技术选择,相对可调用的包技术基础可能比Node强一点,虽然Node也发展很快。这两者都属于目前快速开发的典型技术。
采纳率:78%
为您推荐:
其他类似问题
您可能关注的内容
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。你都用 Python 来做什么? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。<strong class="NumberBoard-itemValue" title="1被浏览<strong class="NumberBoard-itemValue" title=",117,514分享邀请回答import urllib2
import urllib
import datetime
import os.path
to_find_string="https://bd.phncdn.com/videos/"
big_path=""
def save_file(this_download_url,path):
print"- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
time1=datetime.datetime.now()
print str(time1)[:-7],
if (os.path.isfile(path)):
file_size=os.path.getsize(path)/
print "File "+path+" ("+ str(file_size)+"Mb) already exists."
print "Downloading "+path+"..."
f = urllib2.urlopen(this_download_url)
data = f.read()
with open(path, "wb") as code:
code.write(data)
time2=datetime.datetime.now()
print str(time2)[:-7],
print path+" Done."
use_time=time2-time1
print "Time used: "+str(use_time)[:-7]+", ",
file_size=os.path.getsize(path)/
print "File size: "+str(file_size)+" MB, Speed: "+str(file_size/(use_time.total_seconds()))[:4]+"MB/s"
def download_the_av(url):
req = urllib2.Request(url)
content = urllib2.urlopen(req).read()
while len(content)&100:
print"try again..."
content = urllib2.urlopen(req).read()
print "All length:" +str(len(content))
title_begin=content.find("&title&")
title_end=content.find("&/title&")
title=content[title_begin+7:title_end-14]
title=title.replace('/','_')
title=filter(lambda x:x in "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ _-",title)
quality=['720','480','240']
for i in quality:
find_position=content.find("\"quality\":\""+i+"\"")
if find_position&0:
print "Quality: "+i+"P"
to_find=content[find_position:find_position+4000]
pattern=re.compile(r"\"videoUrl\":\"[^\"]*\"")
match = pattern.search(to_find)
the_url=match.group()
the_url=the_url[12:-1]#the real url
the_url=the_url.replace("\\/","/")
save_file(the_url,big_path+title+".mp4")
urls=["https://www.p***hub.com/view_video.php?viewkey=ph592ef8731630a",]
print len(urls),
print " videos to download..."
for url in urls:
print count
download_the_av(url)
print "All done"
以下是国内版本,请对网址稍作修改谢谢:import urllib2
import urllib
import datetime
import os.path
import requests
def save_file(this_download_url,path):
print"- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
time1=datetime.datetime.now()
print str(time1)[:-7],
if (os.path.isfile(path)):
file_size=os.path.getsize(path)/
print "File "+path+" ("+ str(file_size)+"Mb) already exists."
print "Downloading "+path+"..."
r = requests.get(this_download_url,stream=True)
with open(path.encode('utf-8'), "wb") as code:
code.write(r.content)
time2=datetime.datetime.now()
print str(time2)[:-7],
print path+" Done."
use_time=time2-time1
print "Time used: "+str(use_time)[:-7]+", ",
file_size=os.path.getsize(path)/
print "File size: "+str(file_size)+" MB, Speed: "+str(file_size/(use_time.total_seconds()))[:4]+"MB/s"
def download_url(website_url):
fuckyou_header= {'User-Agent':'Mozilla/5.0 (W U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/ Firefox/3.5.6'}
req = urllib2.Request(website_url,headers=fuckyou_header)
content = urllib2.urlopen(req).read()
while len(content)&100:
print"try again..."
content = urllib2.urlopen(req).read()
print "Web page all length:" +str(len(content))
pattern=re.compile(r"http://m4.26ts.com/[.0-9-a-zA-Z]*.mp4")
match = pattern.search(content)
the_url=match.group()
save_file(the_url,the_url[19:])
print "No video found."
urls=["http://www.46ek.c*m/view/22133.html",]
print len(urls),
print " videos to download..."
for i in urls:
print count
download_url(i)
print "All done"
6.1K315 条评论分享收藏感谢收起wlkt.ustc.edu.cn/)是一个非常好的平台,上面汇集了很多知名教授的授课视频,以及最新的讲座、报告、表演视频,内容还是相当丰富的。但是这些视频只面向校内IP开放。所以想在校外看到这些视频必须破解视频地址,于是利用Python的requests库结合BeautifulSoup,用了不到10行代码就可以获取真实下载地址。为了方便没有安装Python的电脑使用,简单写了一个GUI界面,给室友用,都说还是挺好的用的哈。考虑到视频版权问题,代码和程序就不放出来了,请大家见谅。2. 获取中科大研究生系统全部学生姓名、学号、选课信息登录中国科学技术大学的研究生综合系统(),可以看到每一门课选课的学生姓名和学号,当时就想能不能做一个这样的系统,来输入任何姓名(或者学号)就可以看到他所有的选课信息呢?这是选课首页:点击每门课的已选人数链接,可以看到所有的选课学生姓名和学号:下面就利用requests的模拟登录功能,先获取全部课程的链接,并保存对于的课程信息,然后挨个获取了所有课程的选课信息。为了保护学生信息,对程序的关键部分进行了模糊处理,希望大家谅解。这样就获取了一个巨大的json文件,里面全部是学生姓名学号选课信息:有了这个json文件,我们可以写入数据库,也可以直接利用json文件来查询:为了方便其他人使用,基于上面的数据我开发了一个线上版本:输入姓名或者学号都可以直接查询别人的选课信息:这个地址就不放出来了,如果您是科大的研究生,私信我,我把链接发给你。3. 扫描中科大研究生系统上的弱密码用户基于上面获得的选课学生学号,很容易利用Python依次模拟登录研究生,密码就用弱密码123456,然后可以获得身份证号码等重要信息。这样就得到了使用123456作为密码的用户信息,所以在此提醒大家一定不要使用弱密码,希望下面的同学早日修改密码。4. 模拟登录中科大图书馆并自动续借最近,科大图书馆系统升级了,到处都加了验证码,所以下面这个方法直接使用肯定是不行了,不过曾经毕竟成功过哈。以前收到借阅图书到期通知短信,就会运行一下这个程序,自动续借了,然后就可以再看一个月了。运行就是这样的,自动续借成功,看到的链接就是每本书的续借链接。5. 网易云音乐批量下载终于来一个正常一点的哈,那么我就直接放代码吧,可以下载网易云音乐各个榜单的全部歌曲,批量下载,速度挺快。请注意提前要创建一个名为 “网易云音乐” 的文件夹。# 网易云音乐批量下载
# By Tsing
# Python3.4.4
import requests
import urllib
# 榜单歌曲批量下载
# r = requests.get('http://music.163.com/api/playlist/detail?id=2884035') # 网易原创歌曲榜
# r = requests.get('http://music.163.com/api/playlist/detail?id=') # 云音乐飙升榜
# r = requests.get('http://music.163.com/api/playlist/detail?id=3778678') # 云音乐热歌榜
r = requests.get('http://music.163.com/api/playlist/detail?id=3779629') # 云音乐新歌榜
# 歌单歌曲批量下载
# r = requests.get('http://music.163.com/api/playlist/detail?id=') # 云音乐歌单——【华语】中国风的韵律,中国人的印记
# r = requests.get('http://music.163.com/api/playlist/detail?id=') # 云音乐歌单——那不是爱,只是寂寞说的谎
arr = r.json()['result']['tracks'] # 共有100首歌
for i in range(10): # 输入要下载音乐的数量,1到100。
name = str(i+1) + ' ' + arr[i]['name'] + '.mp3'
link = arr[i]['mp3Url']
urllib.request.urlretrieve(link, '网易云音乐\\' + name) # 提前要创建文件夹
print(name + ' 下载完成')
于是就可以愉快的听歌了。上面这些都是在Python3的环境下完成的,在此之前,用Python2还写了一些程序,下面也放几个吧。初期代码可能显得有些幼稚,请大神见谅。6. 批量下载读者杂志某一期的全部文章上次无意中发现读者杂志还有一个在线的版本,然后兴趣一来就用Python批量下载了上面的大量文章,保存为txt格式。#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 保存读者杂志某一期的全部文章为TXT
# By Tsing
# Python 2.7.9
import urllib2
from bs4 import BeautifulSoup
def urlBS(url):
response = urllib2.urlopen(url)
html = response.read()
soup = BeautifulSoup(html)
return soup
def main(url):
soup = urlBS(url)
link = soup.select('.booklist a')
path = os.getcwd()+u'/读者文章保存/'
if not os.path.isdir(path):
os.mkdir(path)
for item in link:
newurl = baseurl + item['href']
result = urlBS(newurl)
title = result.find("h1").string
writer = result.find(id="pub_date").string.strip()
filename = path + title + '.txt'
print filename.encode("gbk")
new=open(filename,"w")
new.write("&&" + title.encode("gbk") + "&&\n\n")
new.write(writer.encode("gbk")+"\n\n")
text = result.select('.blkContainerSblkCon p')
for p in text:
context = p.text
new.write(context.encode("gbk"))
new.close()
if __name__ == '__main__':
time = '2015_03'
baseurl = 'http://www.52duzhe.com/' + time +'/'
firsturl = baseurl + 'index.html'
main(firsturl)
7. 获取城市PM2.5浓度和排名最近环境问题很受关注,就用Python写了一个抓取PM2.5的程序玩玩,程序支持多线程,方便扩展。#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 获取城市PM2.5浓度和排名
# By Tsing
# Python 2.7.9
import urllib2
import threading
from time import ctime
from bs4 import BeautifulSoup
def getPM25(cityname):
site = 'http://www.pm25.com/' + cityname + '.html'
html = urllib2.urlopen(site)
soup = BeautifulSoup(html)
city = soup.find(class_ = 'bi_loaction_city')
# 城市名称
aqi = soup.find("a",{"class","bi_aqiarea_num"})
quality = soup.select(".bi_aqiarea_right span")
# 空气质量等级
result = soup.find("div",class_ ='bi_aqiarea_bottom')
# 空气质量描述
print city.text + u'AQI指数:' + aqi.text + u'\n空气质量:' + quality[0].text + result.text
print '*'*20 + ctime() + '*'*20
def one_thread():
print 'One_thread Start: ' + ctime() + '\n'
getPM25('hefei')
getPM25('shanghai')
def two_thread():
print 'Two_thread Start: ' + ctime() + '\n'
threads = []
t1 = threading.Thread(target=getPM25,args=('hefei',))
threads.append(t1)
t2 = threading.Thread(target=getPM25,args=('shanghai',))
threads.append(t2)
for t in threads:
# t.setDaemon(True)
if __name__ == '__main__':
one_thread()
print '\n' * 2
two_thread()
8. 爬取易迅网商品价格信息当时准备抓取淘宝价格的,发现有点难,后来就没有尝试,就把目标选在了易迅网。#!/usr/bin/env python
#coding:utf-8
# 根据易迅网的商品ID,爬取商品价格信息。
# By Tsing
# Python 2.7.9
import urllib2
from bs4 import BeautifulSoup
def get_yixun(id):
price_origin,price_sale = '0','0'
url = 'http://item.yixun.com/item-' + id + '.html'
html = urllib2.urlopen(url).read().decode('utf-8')
soup = BeautifulSoup(html)
title = unicode(soup.title.text.strip().strip(u'【价格_报价_图片_行情】-易迅网').replace(u'】','')).encode('utf-8').decode('utf-8')
print title
soup_origin = soup.find("dl", { "class" : "xbase_item xprice xprice_origin" })
price_origin = soup_origin.find("span", { "class" : "mod_price xprice_val" }).contents[1].text
u'原价:' + price_origin
soup_sale= soup.find('dl',{'class':'xbase_item xprice'})
price_sale = soup_sale.find("span", { "class" : "mod_price xprice_val" }).contents[1]
u'现价:'+ price_sale
return None
if __name__ == '__main__':
get_yixun('2189654')
9. 音悦台MV免积分下载音悦台上有好多高质量的MV,想要下载却没有积分,于是就想到破解下载。当时受一个大神的代码的启发,就写出了下面的代码,虽然写的有点乱,但还是可以成功破解的哈。#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 音悦台MV免积分下载
# By Tsing
# Python 2.7.9
import urllib2
import urllib
mv_id = '2278607'
# 这里输入mv的id,即http://v.yinyuetai.com/video/2275893最后的数字
url = "http://www.yinyuetai.com/insite/get-video-info?flex=true&videoId=" + mv_id
timeout = 30
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36',
'Accept':'text/html,application/xhtml+xml,application/q=0.9,image/webp,*/*;q=0.8'
req = urllib2.Request(url, None, headers)
res = urllib2.urlopen(req,None, timeout)
html = res.read()
reg = r"http://\w*?\.yinyuetai\.com/uploads/videos/common/.*?(?=&br)"
pattern=re.compile(reg)
findList = re.findall(pattern,html)
# 找到mv所有版本的下载链接
if len(findList) &= 3:
mvurl = findList[2]
# 含有流畅、高清、超清三个版本时下载超清
mvurl = findList[0]
# 版本少时下载流畅视频
local = 'MV.flv'
print 'downloading...please wait...'
urllib.urlretrieve(mvurl,local)
print "[:)] Great! The mv has been downloaded.\n"
print "[:(] Sorry! The action is failed.\n"
10. 其他请参考:结语:Python是一个利器,而我用到的肯定也只是皮毛,写过的程序多多少少也有点相似,但是我对Python的爱却是越来越浓的。补充:看到评论中有好多知友问哪里可以快速而全面地学习Python编程,我只给大家推荐一个博客,大家认真看就够了:3.4K427 条评论分享收藏感谢收起一个从事Python多年的全栈工程师给你分析为什么学Python!丶一个站在Java后端设计之路的男青年个人博客网站

我要回帖

更多关于 python 前后端分离 的文章

 

随机推荐