小白搭建网站

1. 第一步:使用Flask搭建微型的 Web 框架


Flask是Python中一个微型的Web开发框架。

  1. 建立一个工程 flaskr_meitu,我们来做一个美图网站
  2. init.py 是应用文件
  3. config.py 是配置文件
  4. view.py 是视图文件,实现网站请求功能
  5. templates/layout.html 是网页基础模板
  6. templates/index.html 是主网页,是的,我们的网站只有一个网页
  7. templates/ajax_receive.html 是动态页面
  8. static/style.css 是网页样式,让页面显示3列图片
  9. static/jquery-3.4.1.min.js 我们用jq实现图片点击放大,网页滚顶到最后一行自动加载下一页
  10. static/images 存放大图片
  11. static/smallImages 存放缩略图,用于优化网页加载

小白搭建网站

爬虫篇

  1. 我们的网站全是美女图片,图片来自哪里,当然是百度啦
  2. 百度搜 清纯美女写真,F12打开控制台,观察XHR,找到GET请求的参数,滚动网页,观察新的XHR,对比前后的参数,去掉最后两个校验值,发现规律 每次请求30个图片,pn 0 30 90 120
  3. 动态请求的结果是一个json数据,里面的每一条数据都包含图片链接
  4. 直接测试图片链接,发现可用
  5. 爬虫分析结束,接下来 创建coolmeitu爬虫工程
  6. spiderUrl.py 爬取100页,大概3000张图片的链接,保存到result.txt
  7. spiderImg.py 根据图片链接爬取图片数据
  8. 由于我们网站的图片尺寸要求 1024*1775,需要用updateDate.py对图片进行处理
  9. 首先按照高度1775 对图片按比例缩放
  10. 对缩放后图片宽度小于1024的进行删除,废弃,防止图片拉伸后过于模糊
  11. 对图片宽度大于1024的进行快速裁切,只保留中部区域,虽然用ps手工裁切效果更好,但是上千张图片太过浪费时间
  12. 最后人工校验,删除男生的/卡通的/违规的/模糊的/裁切错误的,我们得到1500张左右
  13. 我们使用python代码 为图片制作了缩略图,放在smallImages文件夹

小白搭建网站

第二步:使用Tornado搭建一个开源的可伸缩的、非阻塞式的 web 服务器


  1. flask帮助我们创建了一个网站应用,只限于本台电脑,别人无法访问
  2. 使用Tornado搭建一个web服务器,让小伙伴们也来玩
  3. runserver.py 文件简单的实现了把应用集成到服务中
  4. 远程登陆云服务器后,运行python runserver.py,能让网站被访问,但是关闭终端,会导致程序退出;解决办法,nohup python runserver.py &,保证后台程序不挂断

第三步:注册域名


  1. 没有域名的网站就如同没有名字的人,想访问它只能通过IP地址,十分不方便
  2. 我们在腾讯云购买com后缀的域名,起名coolmeitu,花了55大洋,有效期一年
    https://cloud.tencent.com/

第四步:购买云服务器-腾讯云


  1. 服务器本质就是一台电脑,一台能让别人访问的电脑
  2. 我们在腾讯云购买一台1核1GB centos 7.2 64位 的云服务器,宽带1M,半年 351大洋
  3. 因为选的快速配置,会自动配置好
  4. 点击登录按钮,输入账号密码,远程登录
  5. 服务器是linux命令行模式操作,查看空间,只有50G硬盘大小,好穷
  6. 我们把本地开发好的网站放到服务器上,这里用xftp软件进行远程文件拷贝
  7. 运行web服务器,用python运行runserver.py脚本
  8. 用本地电脑进行测试,谷歌浏览器模拟手机访问效果

第五步:域名备案


  1. 备案相当于获取了官方证明,否则网站无法正常访问,更不能通过域名访问
  2. 腾讯云有个助手小程序,可以帮助在线办理备案,但是需要等申请域名后3个自然日,才能办理
  3. 在腾讯云办理后,会提交到管局审核,20个工作日内会得到结果
  4. 收到邮件,关于ICP备案申请审核通过的通知,里面有备案/许可证编号
  5. 办理*备案,可以在线办理,等待审核,注意这时网站域名必须能打开,打不开会导致审核不过
    腾讯云提供域名检测网页,https://domaintool.cloud.tencent.com/result?domain=,可以测试网站域名是否正常

第六步:百度联盟


  1. 加入百度联盟,网站用户通过点击广告产生收入,网站主就可以从百度获得相应的分成
  2. 点新建网站,填入相关信息
  3. https://union.baidu.com/bqt/#/