python+flask+html/css+mysql+BAE 打造CSDN简历自动生成系统(附网站完全源码)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 1.背景       一直想自己动手写个web app玩玩,前几天看了一个github的resume自动生成的web-app,所以就动手仿造了一个csdn的简历生成器。结构很简单,前端是html/css文件(这个模仿了github的那个网页,因为博主不太懂前端)。后台是一个爬虫软件,可以把csdn的个人信息爬下来,然后显示出来,最后部署到了百度云。百度的云数据库,真是坑爹.......,我

1.背景


       一直想自己动手写个web app玩玩,前几天看了一个github的resume自动生成的web-app,所以就动手仿造了一个csdn的简历生成器。结构很简单,前端是html/css文件(这个模仿了github的那个网页,因为博主不太懂前端)。后台是一个爬虫软件,可以把csdn的个人信息爬下来,然后显示出来,最后部署到了百度云。百度的云数据库,真是坑爹.......,我调试了半天,目前还无法insert数据。好了,先上个图,项目地址http://resumecsdn.duapp.com/

                         (1)起始页面


                       (2)生成的简历


2.项目介绍

   
    (1)前端

       前端主要就是html和css,这个我是参考别人的改的,有过代码经历的人应该都比较容易。前端和后台的交互,主要是通过先在html里设置method,然后就可以{{{data}}这样传输数据了,这个比较容易,大家在代码中一看就明白,不多说了。

     (2)flask

        flask是一个比较轻便的python web框架,博主本来打算用豆瓣那个的(豆瓣的后台是python写的),但是发现太难,所以转而用flask。flask的好处是很直接明了。
@app.route('/')
def home():
   #mysql_manager.sql_connect()
    
   return render_template('index.html')

@app.route('/signup', methods=['POST'])
def signup():
    #session['username'] = request.form['username']
    session['message'] = request.form['message']
    return redirect(url_for('message'))
       像这样,利用app.route就可以直接获得网页路径,render_template('index.html')就是打开index页面。它的文件结构可以给大家看下,所有的html都是存放在template文件夹,然后css这些配置文件还有数据库可以放到static文件夹。

     这个框架的好处是,基本看一眼例子就可以动手开搞了,推荐一个网站:http://maximebf.com/blog/2012/10/building-websites-in-python-with-flask/


    (3)crawler
  
       介绍一下crawler文件,也就是后台的爬虫文件吧。因为要伪装成是浏览器浏览,所以加了个head,这样可以避免一些反爬虫网站。剩下就是用urllib的函数加上正则匹配就比较容易搞定了。
headers = {  
    'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'  
     }  
   req = urllib2.Request(  
    url='http://blog.csdn.net/'+name,  
    headers = headers  
    )  

    
  (4)部署到BAE

        BAE怎么说呢,mysql功能文档很少,这点让我很不爽。但是其他功能还是可以的,特别是支持很多python的第三方库,可以在requirements.txt里面定义。
       用法:注册一个账号,然后它会给你一个git地址,clone到本地。然后就可以修改了,当然,改好了还得push上去,每次修改都得点击“快捷发布”。



下面是一些要注意的地方:

1 .首先是app.conf,url要加星号。
handlers:
  - url : /.*
    script: __init__.py


2.然后,把需要的第三方库加在requirements.txt里,这样bae会自动帮你安好。
flask
MySQL-python


3.注意本地调试,和放到BAE的区别

本地调试运行程序是以下语句__init__.py文件内,然后就可以在浏览器查看了
if __name__ == '__main__':
     app.run()


放到BAE上要把本地调试的语句注释掉,在__init__.py里加上:
from bae.core.wsgi import WSGIApplication  
application = WSGIApplication(app)  


4.本地调试每次调完要注意kill线程,方法是在shell里:
lsof -i:5000

然后在kill掉对应的ID号


 
     
 --------------------------------------------------------------------------------------------------------------------------------------------------------       
       差不多这些就够了,大家想更深的了解可以去项目看 github地址   项目演示地址
            麻烦大家看的时候,给个star,拥有star100+项目一直是我的梦想委屈



/********************************

* 本文来自博客  “李博Garvin“

* 转载请标明出处:http://blog.csdn.net/buptgshengod

******************************************/



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
2天前
漂亮的七彩引导页导航HTML源码
漂亮的七彩引导页导航HTML源码,源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面
2 0
漂亮的七彩引导页导航HTML源码
|
3天前
|
移动开发 HTML5
HTML5漫画风格个人介绍源码
HTML5漫画风格个人介绍源码,源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面
7 0
HTML5漫画风格个人介绍源码
|
8天前
2024个人导航HTML源码
2024个人导航HTML源码,源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面
13 0
2024个人导航HTML源码
|
10天前
|
监控 安全 关系型数据库
基于vue2 + element +mysql医院不良事件上报系统源码
不良事件管理系统从时间上报、PDCA分析、事件整改、评估效果实行闭环管理和分析,满足医院追根溯源,全流程闭环管理,提高不良事件上报率,减少同类不良事件发生,提高医疗安全。通过报告不良事件,及时发现潜在的不安全因素
18 1
|
12天前
|
移动开发 HTML5
唯美首页纯静态html源码
唯美首页纯静态html5引导页源码,格子化win8风格官方引导页面源码
11 0
唯美首页纯静态html源码
|
12天前
漂亮的个人主页HTML源码
漂亮的个人主页HTML源码
13 0
漂亮的个人主页HTML源码
|
13天前
一款简约单双页版HTML源码
开源的单页个人主页纯静态源码、目前有两个主页版本:master单页版、double双页版、非常漂亮的单页HTML源码
11 1
一款简约单双页版HTML源码
|
9天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。