本文主要介绍的是基于 [Scrapy爬虫数据存数据库],数据已经入库,现在利用flask框架显示到页面上,代码仓库为 [martian-scrapy
]。

一、环境搭建

python 3.6.4
pip install virtualenv
pip install flask

二、flask扩展安装

pip install flask_bootstrap
pip install flask_sqlalchemy
pip install flask_script

三、 数据库、表创建

#创建数据库
create database scrapy;#创建数据表CREATE TABLE `images` (`id` int(11) NOT NULL AUTO_INCREMENT,`title` varchar(64) DEFAULT '',`img_url` varchar(100) DEFAULT '',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

四、目录结构组织

1 image是爬虫目录,此处不多讲,请看之前的文章或留言
2 flask是web目录,存放显示爬虫数据的web文件
  app 是主目录
    main 是视图目录
    templates 是html页面目录
    statics 是css、js等静态文件目录
    config.py 是全局配置文件
    models.py 是orm定义文件
    __init__.py 是web初始化文件
  manage.py 是运行程序

#该命令会将xkcd.com网站上的图片title,url存入数据库
scrapy crawl image#在flask目录下执行,运行web服务器
python manage.py runserver

在浏览器地址栏输入127.0.0.1:5000即可看到页面数据,如下图所示。

五、主要代码说明

config.py中DB配置

SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:root@localhost:3306/scrapy?charset=utf8'
SQLALCHEMY_TRACK_MODIFICATIONS = True

使用SQLAlchemy定义orm

from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()class Image(db.Model):__tablename__ = 'images'id = db.Column(db.Integer, primary_key=True)title = db.Column(db.String(64))img_url = db.Column(db.String(100))def __repr__(self):return '<Images %r>' % self.title

视图路由定义

from . import main
from flask import render_template
from app.models import Image@main.route("/")
def index():image_list = Image.query.all()return render_template('image.html', images=image_list)

六、可能遇到的问题
1 pymysql.err.InterfaceError: (0, ‘’)解决办法
请参考 https://blog.csdn.net/okm6666/article/details/80618767
2 关闭pyc文件生成
请参考 https://blog.csdn.net/qq_28295425/article/details/82966343
3 ImportError: cannot import name db
请参考 https://stackoverflow.com/questions/48762191/why-do-i-keep-getting-importerror-cannot-import-name-db

欢迎留言讨论、学习!

flask搭建及爬虫数据展示相关推荐

  1. 手把手教你写带登录的NodeJS爬虫+数据展示

    其实在早之前,就做过立马理财的销售额统计,只不过是用前端js写的,需要在首页的console调试面板里粘贴一段代码执行,点击这里.主要是通过定时爬取https://www.lmlc.com/s/web ...

  2. python利用flask搭建接口中转数据给DLL文件

    业务场景 现需要与某局做业务数据接口,但对方的接口只能读取DLL文件调用,而我们这边的系统是运行在Linux的,对方的DLL文件是在windows上编译的,所以需要用一台windows服务器做为中转, ...

  3. Hadoop+hive+flask+echarts大数据可视化项目之hive环境搭建与系统数据的分析思路

    Hadoop+hive+flask+echarts大数据可视化项目(四) --------------hive环境搭建与系统数据的分析思路---------------- 关注过Hadoop+hive ...

  4. 基于爬虫爬取的数据,完成数据展示网站

    文章目录 前言 一.列表 分页 二.注册 登录 三.查询支持布尔表达式 四.图表 五.入口创建 总结 前言 学期进入尾声 web编程课程迎来了期末大作业 作业要求如下: 基于第一个项目爬虫爬取的数据, ...

  5. SpringBoot简单项目搭建,从数据读取数据展示到页面

    springboot快速搭建web项目,无需繁琐xml配置,热部署,无需重启服务器,简单部署只需打jar包即可,有很多的优点! 刚接触到springboot花费了好几个小时,撸完一个又一个的配置坑,最 ...

  6. scrapy爬取表情包使用flask搭建搜索网站

    本文以doutula为演示站点,详细说明搭建一个自己的表情包搜索网站的过程.主要步骤如下: 1. scrapy爬取表情包并存入mysql 2. flask搭建搜索网站 准备工作,anaconda py ...

  7. tensorflow+python flask进行手写识别_python+flask搭建CNN在线识别手写中文网站!简直太屌了!...

    原标题:python+flask搭建CNN在线识别手写中文网站!简直太屌了! 使用python+flask搭建的一个网站,然后从网页的写字板上获取鼠标手写的汉字经过转码后传回后台,并经过图片裁剪处理之 ...

  8. 【项目10】python+flask搭建CNN在线识别手写中文网站

    使用python+flask搭建的一个网站,然后从网页的写字板上获取鼠标手写的汉字经过转码后传回后台,并经过图片裁剪处理之后传入CNN手写中文识别的模型中进行识别,最后通过PIL将识别结果生成图片,最 ...

  9. python商品评论数据采集与分析可视化系统 Flask框架 requests爬虫 NLP情感分析 毕业设计 源码

    一.项目介绍 python商品评论数据采集与分析可视化系统 Flask框架.MySQL数据库. requests爬虫.可抓取指定商品评论.Echarts可视化.评论多维度分析.NLP情感分析.LDA主 ...

最新文章

  1. weblogic公布的项目用途myeclipse正常启动,点击startWeblogic.cmd报错解决方案
  2. GhostBSD 10.1-ALPHA1 发布
  3. ERP项目中一个表应该有哪些默认字段
  4. Unity Shaders
  5. Idea实体类上加@Data注解但get/set方法不生效
  6. CentOS 7安装 ifconfig 管理命令
  7. python中set()函数==》创建一个无序不重复的元素集(创将一个集合)
  8. ajax控件扩展,22.6 扩展控件
  9. 830. 较大分组的位置
  10. Hadoop MapReduce链式实践--ChainReducer
  11. 风口来了第二期——电子科学与技术专业现状和前景介绍分享
  12. oracle 王景田_清华大学经济管理学院电子简讯
  13. 网易云音乐API获取分析
  14. 使用jQuery Easyui 制作的后台界面
  15. Prometheus技术系列文章——prometheus调研总结
  16. ios和安卓测试包发布网站http://fir.im的注册与常用功能
  17. 简单几步让WinUSB设备变为多端点设备
  18. 1949. 坚定的友谊
  19. 数学建模专栏 | 第十篇:MATLAB CUMCM真题求解实例一:数据型
  20. 工业现场通讯协议网关BL110应用17:实现三菱 PLC FX2N 接入Modbus TCP Server云平台

热门文章

  1. 第四天 可用试验环境和创建快照
  2. 昨天去了趟花旗大厦后才明白什么是真正的白领、什么是民工
  3. 关于iOS 11 tableView自动布局懵逼的事
  4. linux u盘无法读写,解决Linux无法读写U盘中的NTFS问题
  5. Mysql 包含 函数
  6. Fiddler实战深入研究(二)[转载]
  7. 怎么选择CAD转换PDF软件
  8. Java中的线程休眠大法系列(三)LockSupport.park()
  9. Java开发西安地区最近面试汇总(三)
  10. 解决!百度云管家使用QQ第三方登录时提示“由于网络原因无法载入页面 请点击刷新后重试”