python如何写app服务器端_app 服务端编写(2),python

bb34cf07a6fb

989868A2-723E-41F2-9A47-9E413C25F7C5.png

前一篇说道爬虫,数据爬到了自然要和数据库连接还有存储,这里我在学习爬虫的时候以为get到了一个新名称,分布式爬虫,还没有深研究了解的可以赐教。

数据库

爬取到的数据放到数据库

lass DBManager():

host = ''

port = 0

def __init__(self):

self.host = 'localhost'

self.port = 27017

print 'init db'

def get_db(self):

client = pymongo.MongoClient(host=self.host, port=self.port)

db = client['tuniu']

return db

def get_dbItemsNum(self,dbname):

db = self.get_db()

collection = db[dbname]

num = collection.find().count()

return num

return ;

def insert_data_mg(self,db, dbname, json):

collection = db[dbname]

if collection.find().count() > 500 :

collection.removeall

collection.save(json)

else:

collection.save(json)

这里的host 和port 根据我对其他项目的观察,是要和网络web 的定义相关的,这里我写的本地,就没有关联。

MongoClient 是一切的起点,后期的增删改查 就和我们大学学的数据库联系起来的

对外服务Flask

就是访问数据库通过Flask 公开对数据访问,这里就可能会涉及到数据加密,数据安全等功能,因为是demo 简单了一下

@app.route('/api/v1/xia_ifanr', methods=['GET', 'POST'])

def get_list_ifanr():

db = conn.tuniu

collection = db['ifanr']

page_num = int(request.form['pageNum'])

items = collection.find().skip(page_num * 10).limit(10).sort([("index",-1)])

data = {'data': items}

return dumps(data)

开始打算做个途牛的app demo 后来发现api 太多了就放弃了。

bb34cf07a6fb

37B1A984-D121-4B6C-990A-49803F432B1F.png

运行起来,就这效果了,你的每一次访问,都是自己的访问记录

都会打印到这里。

下来就是app 编写了,这里不仅仅是app 的编写,可能还有对于web 页面等一切前端的页面编写。

写到这里,我也明白了,为什么后端个别人看不上前端,因为前端对于服务端仅仅是写页面的,没有什么技术含量。这点还是可以讨论的。

网络配置

如果你是自己电脑不是在云端部署而是在自己的电脑本地部署,那就需要一个工具了,就是一个花瓶Charles 这个工具了,如果仅仅是模拟器不是真机调试,那么这个也不需要了。

bb34cf07a6fb

模拟器.png

这样简单的app 开始他的web 服务了

bb34cf07a6fb

1C5D3B24-65A7-473F-A8F1-10E810BD7739.png

访问记录,这里还有个问题,我还没有探索,就是多线程的问题,因为目前我就一个模拟器,没有出现多个请求不过来的情况。并发对于Flask估计也是考验。

特别是高并发。

简单总结

到这里一个app 简单简答架构,就ok,因为app是为心爱的人写的,名字起的比较中二,不过对于技术分析,这个可以忽略不计。

下一步,就是更多的方式的数据爬取了和网络优化,分层+多途径+多情况分析,但是可能不会逃离这个主干。

下一篇,异步爬去,继续。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值