python网址在浏览器能打开_Python - Flask - 在默认浏览器中打开一个网页
第一部分负责抓取网页并提取一些信息并将其插入到数据库中。
第二部分是resposible使用数据库来呈现这些信息。 两部分共享数据库。在第二部分中,我使用Flask框架将信息显示为具有格式,样式等的html,以使其看起来更清晰。
两个部分的源文件都在同一个包,但运行此程序正常用户有权运行履带式并分别导致主持人是这样的:
蟒蛇crawler.py
然后
蟒蛇presenter.py
一切都还好吧只是,除了一两件事。我主要做什么是以html格式创建结果并在用户的默认浏览器中打开结果页面,但它总是打开两次,可能是由于run()方法的存在,它会在新线程中启动Flask并且事情变得对我来说阴天。我不知道该怎么做才能让我的presenter.py在运行后只打开一个选项卡/窗口。
这里是我的代码片段:
from flask import Flask, render_template
import os
import sqlite3
# configuration
DEBUG = True
DATABASE = os.getcwd() + '/database/database.db'
app = Flask(__name__)
app.config.from_object(__name__)
app.config.from_envvar('CRAWLER_SETTINGS', silent=True)
def connect_db():
"""Returns a new connection to the database."""
try:
conn = sqlite3.connect(app.config['DATABASE'])
return conn
except sqlite3.Error:
print 'Unable to connect to the database'
return False
@app.route('/')
def show_entries():
u"""Loads pages information and emails from the database and
inserts results into show_entires template. If there is a database
problem returns error page.
"""
conn = connect_db()
if conn:
try:
cur = connect_db().cursor()
results = cur.execute('SELECT url, title, doctype, pagesize FROM pages')
pages = [dict(url=row[0], title=row[1].encode('utf-8'), pageType=row[2], pageSize=row[3]) for row in results.fetchall()]
results = cur.execute('SELECT url, email from emails')
emails = {}
for row in results.fetchall():
emails.setdefault(row[0], []).append(row[1])
return render_template('show_entries.html', pages=pages, emails=emails)
except sqlite3.Error, e:
print ' Exception message %s ' % e
print 'Could not load data from the database!'
return render_template('show_error_page.html')
else:
return render_template('show_error_page.html')
if __name__ == '__main__':
url = 'http://127.0.0.1:5000'
webbrowser.open_new(url)
app.run()
2012-06-20
koleS
python网址在浏览器能打开_Python - Flask - 在默认浏览器中打开一个网页相关推荐
- [乐意黎原创] 删除QQ的MiniBrowser浏览器,QQ聊天会话中点击链接直接用默认浏览器中打开
[乐意黎原创] 删除QQ自带的MiniBrowser浏览器,使从聊天会话中点击链接直接打开默认浏览器中打开 如题,不知从什么版本开始,乐-意-黎无意中发现,点击QQ聊天会计中的链接时,不会在默认浏览器 ...
- python将输入值转化为元组_Python实现将元组中的元素作为参数传入函数的操作
本文由Markdown语法编辑器编辑完成. 1. 需求: 现在有一个Python的需求需要实现: 就是实现连接一次数据库,就能够执行多条SQL语句,而且这个SQL语句是需要通过调用者将每一次执行的参数 ...
- python图片保存为txt文件_python实现对文件中图片生成带标签的txt文件方法
在深度学习中经常需要生成带标签的图片名称列表,xxxlist.txt文件,下面写一个简单的python脚本生成该文件列表. import os def generate(dir,label): fil ...
- python字符串提取数字并求和_python实现将字符串中的数字提取出来然后求和
因工作原因,很久没有学习python知识了,感觉都快忘记了,前天看到一个练习题,如何将字符串中的数字提取出来,然后求和呢?下面我来解释一下如何通过python代码来实现. 题目:字符串43...3y2 ...
- python 拆分excel单元格_Python怎么在Excel中把一个单元格里的内容拆分提取?:excel表格已拆分的数据提取...
Python怎么在Excel中把一个单元格里的内容拆分提取? 有规律的话写代码可以处理,没有就没有办法 如何将EXCEL表中的数据分离出来? 如图,B1输入:=LEFT(A1,FIND("排 ...
- ajax 在新选卡打开,JavaScript在新窗口中打开,而不是选项卡
我有一个选择框,当选择一个项目时,它会调用window.open(url) . Firefox默认会在新标签页中打开页面. 但是,我希望页面在新窗口中打开,而不是在新标签页中打开. 我该怎么做? #1 ...
- 一个js文件 多个html文件怎么打开,通过PHP在PhantomJs中打开多个html文件抛出语法错误...
我想让我的php脚本从命令行调用phantomjs,这将从许多html文件中生成多个pdf.所以我有一个连接字符串与路径我的HTML文件,接下来我调用exec命令:通过PHP在PhantomJs中打开 ...
- java adt怎么打开项目,如何在Eclipse中打开Android Studio项目?
慕的地6264312 将Android Studio项目导入Eclipse的分步过程 ...使用向导在eclipse中启动新的Android项目,并从app / build.gradle中填写以下详细 ...
- php打开目录文件类型,php中打开目录并输出目录文件实现代码
opendir() 函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用. 语法 opendir(path,context) */ $d=dir(&q ...
最新文章
- 外观设计模式(门面模式)
- python原始数据是什么_以python请求发送原始数据
- python操作系统-Python与操作系统有关的模块
- dev控件中LookUpEdit的数据绑定问题
- C#常用集合的使用(转载)
- java dispatcher详解_dispatcherservlet初始化过程详解
- 打开pdf文件提示文件过大_如何把pdf文件进行分割?拆分pdf文件的方法分享
- 截取指定字符前_Excel字符函数(1):利用3个函数提取邮箱中的域名
- 利用图神经网络进行社交机器人检测
- 虚拟蜜罐-honeyd安装部署
- 给出问题的答案 你就可以成为百万富翁
- 全国哀悼日 一段css让全站变灰
- JavaScript(1)使用ducument.write()在页面上显示红色的“开启JavaScript学习之旅”。
- Cherno C++系列笔记20——P60~P61 为什么不使用using namespace std、命名空间
- 计算机快捷键任务管理器,任务管理器经常要打开任务管理器快捷键是哪个
- 陆奇如何解构一家企业?
- hdwiki can not connect to mysql_HDWIKI最新版Update注入可修改管理员密码(MYSQL进制技巧)...
- HDU6348 Buy and Resell
- VMware收购云监控公司Wavefront
- linux文件如何改名字
热门文章
- PHP算法为数组补全不存在的键
- lampp mysql 等待响应时间很长_XAMPP 的 phpMyAdmin 就会有文件大小限制、上传超时等各种问题...
- python和对象复习_面向对象阶段复习
- php mysql通用类_PHP连接MYSQL数据库通用类_PHP教程
- ios调用restful接口_Postman调用https异常解决
- 电脑怎么下mcjava版_游戏下载常见问题(苹果、电脑玩家下载须知)
- 精通spring——深入java ee开发核心技术 pdf_2019精通Spring Boot 42讲 高清pdf完整版
- java jsch 密钥登陆_我们可以使用JSch进行基于SSH密钥的通信吗?
- python读取大文件的某行_Python按行读取文件的实现方法【小文件和大文件读取】...
- 路由器选华硕还是tp_路由器的坑太多,就算写着“千兆”你也要当心丨618选购指南...