掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1010|回复: 23

[新版发布] flask-mdict 架设自己的 MDict Web Server

[复制链接]
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 129 天

    [LV.7]常住居民III

    发表于 2019-3-22 12:21:41 | 显示全部楼层 |阅读模式
    购买主题 已有 61 人购买  本主题需向作者支付 5 粒米 才能浏览

    本帖被以下淘专辑推荐:

    该用户从未签到

    发表于 2019-3-22 13:33:29 | 显示全部楼层
    这就是远程查询嘛,好东东
  • TA的每日心情

    2018-6-19 15:46
  • 签到天数: 25 天

    [LV.4]偶尔看看III

    发表于 2019-3-22 16:57:31 | 显示全部楼层
    我按楼主说的flask run运行提示:没有模块 ‘mdict’ pip安装后运行提示
    : O8 t( `- e5 B* Z0 G) MAttributeError: module ‘mdict’ has no attribute 'init_app'
    4 e+ ~4 T/ {+ m) _0 Y3 [不能正常访问网页
  • TA的每日心情
    慵懒
    8 小时前
  • 签到天数: 303 天

    [LV.8]以坛为家I

    发表于 2019-3-22 20:37:17 | 显示全部楼层
    真的不太懂,本人技术不行,可否简化了发布
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 129 天

    [LV.7]常住居民III

     楼主| 发表于 2019-3-22 21:00:46 | 显示全部楼层
    本帖最后由 zzzz_sleep 于 2019-3-22 21:27 编辑
    ! b( }% {# @% u% c* f
    dengao 发表于 2019-3-22 16:57
    3 [) R9 B7 l* W  f2 J! @我按楼主说的flask run运行提示:没有模块 ‘mdict’ pip安装后运行提示
      g$ X' ?6 N9 [. H4 D) x' cAttributeError: module ‘mdict ...

    , ?3 a. R& j/ U+ w/ G1 F运行:flask run! F! |) f8 z8 C& Y" L2 d1 v
    试试
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 129 天

    [LV.7]常住居民III

     楼主| 发表于 2019-3-22 21:26:58 | 显示全部楼层
    8 T) U% S  Q& x- K1 ~4 W
    这个版本有点问题,我已经更新,请重新下载,链接不变
    $ Y  u6 G2 k8 l! b9 M
    ( X& n6 O9 k! ^) b% g8 t' o" v! n2 b4 J+ Q3 L, m* k
    3 I* Y) [* K$ O: n$ m
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 586 天

    [LV.9]以坛为家II

    发表于 2019-3-23 09:25:12 | 显示全部楼层
    楼主我运行了falsk run 后,访问http://127.0.0.1:5000,屏幕上出现了提示:“127.00.1:5000拒绝了连接,请查看代理服务器和防火墙设置”
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 586 天

    [LV.9]以坛为家II

    发表于 2019-3-23 09:45:42 | 显示全部楼层
    楼主,我刚才没说清楚,我说的是用手机打开http://127.0.0.1:5000,出现了127.0.0.1拒绝连接的提升,可能还要进一步要怎么设置,使我的手机跟电脑处于一个网络?
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 129 天

    [LV.7]常住居民III

     楼主| 发表于 2019-3-23 13:22:54 | 显示全部楼层
    本帖最后由 zzzz_sleep 于 2019-3-23 13:24 编辑
    - ^/ z2 [" k4 @
    Budha 发表于 2019-3-23 09:45  v2 h- g, M3 z9 X
    楼主,我刚才没说清楚,我说的是用手机打开http://127.0.0.1:5000,出现了127.0.0.1拒绝连接的提升,可能还 ...

    . h+ T7 A. K7 n+ D! {* {0 ?http://127.0.0.1:5000 只能用本机访问3 B) F; P+ r7 x+ I
    , t5 L& C% K) ]/ ^
    如果用手机访问,需要改写下 mdict_start.cmd 文件,然后访问你电脑的 http://<your_pc_ip>:5000/
    8 E7 u$ i1 c. P  w; U改为) b- S2 D$ b% e0 k5 L
    1. python\scripts\flask.exe run --host 0.0.0.0
    复制代码
    5 |/ X( H" b) c$ I2 V
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 586 天

    [LV.9]以坛为家II

    发表于 2019-3-23 14:44:15 | 显示全部楼层
    我运行绿色版的失败了,我就用第一种方法在本机上访问成功,但在手机上失败,按照第一种方法的话要改啥文件,怎么改?
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 129 天

    [LV.7]常住居民III

     楼主| 发表于 2019-3-23 15:35:51 | 显示全部楼层
    本帖最后由 zzzz_sleep 于 2019-3-23 15:39 编辑
    9 ]4 I: u% k9 U4 H3 C
    Budha 发表于 2019-3-23 14:44) a: |$ t& c* d* B. A$ C/ V
    我运行绿色版的失败了,我就用第一种方法在本机上访问成功,但在手机上失败,按照第一种方法的话要改啥文件 ...
    , ?( d, b/ L: E. d+ v; K
    如果你自己安装的 python/flask 运行环境,那么直接运行 flask.exe run --host 0.0.0.0
    ! h4 h5 _0 N7 g9 h" W8 P% l0 Y8 J- T+ B& }+ U1 n
    如果用我提供的运行环境 python\scripts\flask.exe run --host 0.0.0.0, 前面就多个路径
      C( e7 Q! V6 I5 z8 \) t" `1 Y5 _) Z# J# Y/ x6 x  c
    查看您 PC的IP地址,用手机或其他在同一网络的电脑访问 http://<pc_ip>:5000/0 m6 g* w! `7 h8 n. {
    请重新下载 mdict 源码文件,刚修复一个界面问题。' n3 y2 q7 w1 D7 P  H
  • TA的每日心情

    2018-6-19 15:46
  • 签到天数: 25 天

    [LV.4]偶尔看看III

    发表于 2019-3-23 15:47:26 | 显示全部楼层
    楼主超赞,多谢搞定了
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 586 天

    [LV.9]以坛为家II

    发表于 2019-3-23 17:24:41 | 显示全部楼层
    我的意思是我电脑一直开着,我人在外面上班或在外地出差,我远程访问家里的电脑,调用词典,楼主的程序可以实现吗?
  • TA的每日心情
    开心
    2019-1-21 17:00
  • 签到天数: 376 天

    [LV.9]以坛为家II

    发表于 2019-3-23 19:07:51 | 显示全部楼层
    本帖最后由 simonfire 于 2019-3-23 19:35 编辑 $ V# X7 g0 Q7 c$ j/ T
    Budha 发表于 2019-3-23 17:24
    * k, u( O8 l4 M2 \* v2 D- O  K' f. t我的意思是我电脑一直开着,我人在外面上班或在外地出差,我远程访问家里的电脑,调用词典,楼主的程序可以 ...
    ! e& m/ |( ^6 P
    这个和程序没关系,关键在于你能不能远程访问家里的电脑
    + c* T4 g. V/ z2 U! l5 s1 r: C
    8 p& \6 h- a& R* z) p7 ]. ?8 ~% d) W7 L  T  u! o' X# |1 i
    在Ubuntu上简单试用了一下,很不错。
    ! }2 h0 |* r* H! q, R! ~& g
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 129 天

    [LV.7]常住居民III

     楼主| 发表于 2019-3-23 20:52:57 | 显示全部楼层
    本帖最后由 zzzz_sleep 于 2019-3-23 20:55 编辑 0 P  i, C2 ]! Z
    Budha 发表于 2019-3-23 17:24
    . U1 g, W+ H& A0 S2 J5 V我的意思是我电脑一直开着,我人在外面上班或在外地出差,我远程访问家里的电脑,调用词典,楼主的程序可以 ...

    " y! z+ T; T+ Y可以办到,但主要功能不是我提供的
    . B3 P6 s& o$ U# Q6 @4 _8 E; x' W6 v5 c" o" A8 A; K& z
    1. 首先,运行我的程序,家里内网的机器可以正常访问. e: ]: g* S; ~0 J( g
    2. 在家里 AP 路由上做地址转换
    2 b3 V1 w. I+ ~/ d+ p    例如,映射外部端口 5000,到家里内网  <pc_ip>:5000
    + f! q' I" j: y9 q3 e5 s: l9 ^# n$ C3 Q$ M* [3 c
    注意:+ e5 B6 D- @- c8 M# k3 Q1 |# L7 J0 }
       1. 家里 PC IP 要求是静态 IP,动态 IP (DHCP) 不可以8 y1 }: H# m( d4 w; `
       2. 你要知道当前确切的外网地址,即 家里 AP 路由在 Internet 上的 IP 地址。这个地址可能每天都会变化,可以通过 DDNS 解决
    ; Q2 X) k3 `! v   3. 映射的外网端口不能是 80,或 443 ,ISP 禁止' E  s& i8 r7 t0 ?" q; g& w0 @

    0 V8 C- _. W! O* g" e& a总之,主要是网络的问题,不是我程序的问题。太多 IT 术语,属于专业问题,没法细说。
    0 Y# W' B. Y- L$ m0 j7 ~7 S" W2 x/ Q# E% K+ I6 t
  • TA的每日心情
    开心
    2019-3-26 21:36
  • 签到天数: 178 天

    [LV.7]常住居民III

    发表于 2019-3-23 23:32:47 | 显示全部楼层
    本帖最后由 流星冲击 于 2019-3-23 23:36 编辑 / P5 x* a' M" ]( j

    % R) O5 `* F' e$ E词典code一定要规范,是不是做到xhtml标准的那种程度?
    ( T$ z2 y& u. L还有就是,可不可以做成直接支持mdx的txt源码?并且进一步优化源码的支持,例如词头有good|well|best三个同义词,用“|”符号进行分隔,用以替代[email protected]@@的功能,查这三个词都是指向good这个词头,这个功能在babylon、stardict、lingoes都是有的,这个功能对于制作小语种的同义词非常好用。
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 129 天

    [LV.7]常住居民III

     楼主| 发表于 2019-3-24 05:29:36 | 显示全部楼层
    流星冲击 发表于 2019-3-23 23:321 S7 e! X: k" J* G& `; U& ?
    词典code一定要规范,是不是做到xhtml标准的那种程度?! |7 J( v8 I* k, @
    还有就是,可不可以做成直接支持mdx的txt源码?并且进 ...

    ) |# {5 V8 f" V. V, U. u词典code一定要规范,是不是做到xhtml标准的那种程度?
    1 V* S: K! ^) B- p  U确切的说,是的。因为词典code是 HTML 代码,各大软件都按 XHTML 标准支持,现在是 HTML5,其次再做一些冗余性调整,越规范,兼容性越好。
    1 u. I3 s, U, _6 H  Q4 m9 @
    0 u5 Y8 H5 R4 O( @txt源码没做过,不清楚,但理论上可以,但可能会牺牲通用性。HTML 软件原生支持,TXT 格式千变万化,没有统一标准,支持性就差了
  • TA的每日心情
    开心
    2019-3-26 21:36
  • 签到天数: 178 天

    [LV.7]常住居民III

    发表于 2019-3-24 05:48:07 | 显示全部楼层
    zzzz_sleep 发表于 2019-3-24 05:29: F! E- p6 L9 t* a; B1 X4 ~9 N3 _
    词典code一定要规范,是不是做到xhtml标准的那种程度?
    # K: G9 a/ S0 n' w- V6 I确切的说,是的。因为词典code是 HTML 代码,各大 ...

    + Q6 ]9 F8 x  s6 W9 k3 F/ n; \5 Cmdx源码的txt都是有规律的,利用正则可以提取词头生成索引,txt文件太大,可以用dictzip压缩成dz(gzip文件)然后读取内容。
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 586 天

    [LV.9]以坛为家II

    发表于 2019-3-24 07:37:11 | 显示全部楼层
    zzzz_sleep 发表于 2019-3-23 20:523 W6 V5 ?8 L: }9 Z3 K! p
    可以办到,但主要功能不是我提供的
    : W" H2 b- x- q/ Z5 f! r2 L% y  p% p
      d1 C- v( D( x1. 首先,运行我的程序,家里内网的机器可以正常访问
    : Z  h9 b$ u8 o8 `/ ~6 r" s; g
    谢谢楼主解答,我家里的电脑是直接连在“光猫”上,500M的宽带,一个月1T流量后会降到300M,这是个基本情况,这样设置的话是不是要简单点?
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 129 天

    [LV.7]常住居民III

     楼主| 发表于 2019-3-24 11:09:59 | 显示全部楼层
    Budha 发表于 2019-3-24 07:37
    , C; X6 O5 j) w8 s& x5 t谢谢楼主解答,我家里的电脑是直接连在“光猫”上,500M的宽带,一个月1T流量后会降到300M,这是个基本情 ...

    + s3 c- J, ~0 t# C2 N
    9 w+ Q" k  d" B是简单些,但是会危险些: ?" r0 n2 C( `, v! C* s

    8 @- ~  D) H$ ]  P7 `5 }% s) M简单:  N2 W4 s9 }1 R* `' }- t. h
    直接连光猫上,PC 是需要拨号才能上网吧,查看拨号后的IP,应当是 Internet 公网IP,直接用手机访问这个 公网 IP 加 5000,即可。不需要网络端口映射; S$ M- W, W3 U
    # D% a" r  S9 s( m# l
    危险:
    & Y# t" ^$ A0 e7 pPC 直连到 Internet 上,没有经过防火墙隔离(Windows自带的不算)容易招到网络攻击,windows 补丁不能及时更新,容易被人攻入
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 129 天

    [LV.7]常住居民III

     楼主| 发表于 2019-3-24 11:18:08 | 显示全部楼层
    流星冲击 发表于 2019-3-24 05:48
    9 X) k" S1 F7 ?mdx源码的txt都是有规律的,利用正则可以提取词头生成索引,txt文件太大,可以用dictzip压缩成dz(gzip文 ...

    5 s! r6 D, Z  Y/ y/ O是可以生成索引,直接显示,但 TXT 格式变化有限,不支持字体,颜色,排版等复杂需求,直接显示到用户终端很丑陋,需要根据 TXT 指令转换为复杂的 HTML 格式才能解决。% `1 _9 O) W8 `( k8 X, x  o- d
    0 i$ a. z% U1 `
    这个转换可以动态转换,即显示一个词条时,先将 TXT 转换为 HTML,再显示5 W: p6 A7 `) K% Z; K
    静态转换,先全部转换 TXT 格式到 HTML,显示时直接传递
    / {; u: O: q% |
    6 b" a/ S, J/ k9 F: u显然第二种方法更有效率,用户体验更好。! ?3 [( N! M5 ^) w- `2 \% \
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 586 天

    [LV.9]以坛为家II

    发表于 2019-3-24 13:16:05 | 显示全部楼层
    zzzz_sleep 发表于 2019-3-24 11:09
    # {% _, i! J: v: f6 M: e是简单些,但是会危险些
    # N+ z/ M% U$ @4 ~+ |3 X2 _8 b% G, d+ u8 |
    简单:

    - b$ d8 t5 ~; V我看了下一共有5个地址9 M7 g% M+ \/ c5 H  k/ ~
    1.物理(mac)地址4 @, X2 E, r% t3 |0 T
    2.ipv4地址6 N7 h1 v- l& a) {6 @# d
    3.ipv6地址
    ! z' L1 n+ o1 D2 F4.默认网关
    & {$ `0 T; H* i5.dns服务器1 d5 k% X+ d( z$ c8 Y; g. {
    我再手机上应该在哪个地址后加5000?
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 129 天

    [LV.7]常住居民III

     楼主| 发表于 2019-3-25 05:57:49 | 显示全部楼层
    Budha 发表于 2019-3-24 13:165 ^* m. c9 K0 B) f/ S# U' |: i+ h+ g
    我看了下一共有5个地址
    * `# o3 Q" U. B7 ~. E! ~1.物理(mac)地址4 T2 x, M( A0 q' F: I
    2.ipv4地址
    5 Z0 Q5 G/ W- s" x) v4 A; d
    2.ipv4地址  R# U1 I, N5 y# D5 E. U
    , P0 O5 l3 m+ x" C$ R
    ipv4:5000
  • TA的每日心情
    开心
    前天 10:14
  • 签到天数: 33 天

    [LV.5]常住居民I

    发表于 2019-6-22 23:07:37 | 显示全部楼层
    这么巧? 昨天顺手自己写了一个django版的。哈哈。仅仅支持txt,每次查询都动态生成转成html条目。就不发表了。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    顶部qrcode底部
    关注公众号送论坛充值码
    关注微信公众平台
    关注微信公众号 pdawiki,获取邀请码,看文抢积分,抽奖得浮云! Follow our Wechat official account "pdawiki", get invitation codes, and play the lottery to earn points (积分)!

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2019-12-8 16:37 , Processed in 0.164262 second(s), 12 queries , MemCache On.

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表