掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 955|回复: 23

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

[复制链接]
  • TA的每日心情
    慵懒
    2019-9-17 13:45
  • 签到天数: 109 天

    [LV.6]常住居民II

    发表于 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安装后运行提示 , `9 |( Z; V) K1 x3 d' `5 g. _+ f0 c
    AttributeError: module ‘mdict’ has no attribute 'init_app'
    8 I1 L  L# \/ }2 k4 K. a2 H$ v不能正常访问网页
  • TA的每日心情
    慵懒
    昨天 08:59
  • 签到天数: 271 天

    [LV.8]以坛为家I

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

    [LV.6]常住居民II

     楼主| 发表于 2019-3-22 21:00:46 | 显示全部楼层
    本帖最后由 zzzz_sleep 于 2019-3-22 21:27 编辑
    - B8 l( @# c$ [& o: s3 j
    dengao 发表于 2019-3-22 16:57
    ' ^! ?. L( y0 ?- R1 y7 r2 k2 K我按楼主说的flask run运行提示:没有模块 ‘mdict’ pip安装后运行提示 ' K2 R( R9 D1 w6 x  v
    AttributeError: module ‘mdict ...
    , K  N2 X7 m" M) W3 W
    运行:flask run
    - A2 b# _# B6 p. Y: n试试
  • TA的每日心情
    慵懒
    2019-9-17 13:45
  • 签到天数: 109 天

    [LV.6]常住居民II

     楼主| 发表于 2019-3-22 21:26:58 | 显示全部楼层
    6 t& e# e2 v" l8 I; B
    这个版本有点问题,我已经更新,请重新下载,链接不变
    1 n, Z' w7 R: @6 i6 o; |1 I( o5 E& B4 J& a7 u
    , m8 e5 x! r8 c2 M3 _. ^
      {' n" T( |$ v+ I6 n1 e# N
  • TA的每日心情
    开心
    昨天 14:54
  • 签到天数: 576 天

    [LV.9]以坛为家II

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

    [LV.9]以坛为家II

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

    [LV.6]常住居民II

     楼主| 发表于 2019-3-23 13:22:54 | 显示全部楼层
    本帖最后由 zzzz_sleep 于 2019-3-23 13:24 编辑
    ; m5 L( ~! t# K1 |3 h. |# G
    Budha 发表于 2019-3-23 09:45) ]. |/ p7 N* C, }! }, }
    楼主,我刚才没说清楚,我说的是用手机打开http://127.0.0.1:5000,出现了127.0.0.1拒绝连接的提升,可能还 ...
    ) s/ y- G" D  g; c
    http://127.0.0.1:5000 只能用本机访问
    * {6 N% x8 u( X4 y
    ! u* @/ X4 U. x$ i0 i6 B如果用手机访问,需要改写下 mdict_start.cmd 文件,然后访问你电脑的 http://<your_pc_ip>:5000/
    + Y" W+ p- S1 Z0 K改为. r. w( W5 ^# p/ r6 m5 A+ d' Y: R; T
    1. python\scripts\flask.exe run --host 0.0.0.0
    复制代码
    # g$ W5 v2 a3 t4 M! O
  • TA的每日心情
    开心
    昨天 14:54
  • 签到天数: 576 天

    [LV.9]以坛为家II

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

    [LV.6]常住居民II

     楼主| 发表于 2019-3-23 15:35:51 | 显示全部楼层
    本帖最后由 zzzz_sleep 于 2019-3-23 15:39 编辑
    " Q+ ~! S$ Q2 Q' ?8 A, h
    Budha 发表于 2019-3-23 14:44
      q8 Y2 }$ F; k% A7 s我运行绿色版的失败了,我就用第一种方法在本机上访问成功,但在手机上失败,按照第一种方法的话要改啥文件 ...
    & U4 N- U- L: V+ s! p7 l! f
    如果你自己安装的 python/flask 运行环境,那么直接运行 flask.exe run --host 0.0.0.0
    3 f" j8 E/ O" ?: h
    ; E6 J8 u# Z0 i0 z* B+ x如果用我提供的运行环境 python\scripts\flask.exe run --host 0.0.0.0, 前面就多个路径
    9 [; I; p: r! o
    $ T+ C0 s7 ?7 D! B查看您 PC的IP地址,用手机或其他在同一网络的电脑访问 http://<pc_ip>:5000/
    % K9 S6 Q# q6 v' T8 G请重新下载 mdict 源码文件,刚修复一个界面问题。1 K- W# ]' u1 O: ?2 c
  • TA的每日心情

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

    [LV.4]偶尔看看III

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

    [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 编辑
    " Z- K( ]5 v3 D* V
    Budha 发表于 2019-3-23 17:24! r3 R8 y" k: v9 l8 V
    我的意思是我电脑一直开着,我人在外面上班或在外地出差,我远程访问家里的电脑,调用词典,楼主的程序可以 ...
    & e& I: x. ?/ x
    这个和程序没关系,关键在于你能不能远程访问家里的电脑1 ~* _+ o" O) |% q8 m6 j9 s
    $ r7 ~1 y4 c1 ~" V
    7 |. @; M9 T& u% Q, ^
    在Ubuntu上简单试用了一下,很不错。  t9 {4 i0 E. b' n% ^
  • TA的每日心情
    慵懒
    2019-9-17 13:45
  • 签到天数: 109 天

    [LV.6]常住居民II

     楼主| 发表于 2019-3-23 20:52:57 | 显示全部楼层
    本帖最后由 zzzz_sleep 于 2019-3-23 20:55 编辑
    & G# d9 {. I; |0 Q) p- u- p
    Budha 发表于 2019-3-23 17:24$ j/ U+ z- o  V2 ^. l4 Q& i( Q
    我的意思是我电脑一直开着,我人在外面上班或在外地出差,我远程访问家里的电脑,调用词典,楼主的程序可以 ...
    8 `4 ]- J' t7 F4 M$ I
    可以办到,但主要功能不是我提供的
    4 U  f# [( J  i+ U8 _& Q; s' N, Y
    1. 首先,运行我的程序,家里内网的机器可以正常访问! V& B7 u& ]" w' `7 D( l& f. r
    2. 在家里 AP 路由上做地址转换# L! \+ e/ G' D- L
        例如,映射外部端口 5000,到家里内网  <pc_ip>:5000/ z3 W& y4 r  @
    8 I/ o1 z# }/ L
    注意:/ i& r' ?6 U+ A5 S( r1 _+ \
       1. 家里 PC IP 要求是静态 IP,动态 IP (DHCP) 不可以% J% ~& o/ R$ h7 X
       2. 你要知道当前确切的外网地址,即 家里 AP 路由在 Internet 上的 IP 地址。这个地址可能每天都会变化,可以通过 DDNS 解决
    4 Y$ }+ o9 ?$ N- \9 E/ ]   3. 映射的外网端口不能是 80,或 443 ,ISP 禁止
    ; D# d0 L$ K& a# `( i7 g) ?* l. J$ m/ I
    总之,主要是网络的问题,不是我程序的问题。太多 IT 术语,属于专业问题,没法细说。- F: y( U5 P' H0 o& A& V$ P0 m& z- L
    + ?* r& ]$ d+ B2 t  @5 E$ J5 X
  • TA的每日心情
    开心
    2019-3-26 21:36
  • 签到天数: 178 天

    [LV.7]常住居民III

    发表于 2019-3-23 23:32:47 | 显示全部楼层
    本帖最后由 流星冲击 于 2019-3-23 23:36 编辑
    ; c4 L3 P. p  R  r
    ! f7 z- T0 n; z' l4 h3 V3 }- e! N+ x% Q词典code一定要规范,是不是做到xhtml标准的那种程度?
    / K' L; f9 E1 g  ?6 Q, t  ]还有就是,可不可以做成直接支持mdx的txt源码?并且进一步优化源码的支持,例如词头有good|well|best三个同义词,用“|”符号进行分隔,用以替代link@@@的功能,查这三个词都是指向good这个词头,这个功能在babylon、stardict、lingoes都是有的,这个功能对于制作小语种的同义词非常好用。
  • TA的每日心情
    慵懒
    2019-9-17 13:45
  • 签到天数: 109 天

    [LV.6]常住居民II

     楼主| 发表于 2019-3-24 05:29:36 | 显示全部楼层
    流星冲击 发表于 2019-3-23 23:32
    , _7 U! x$ b& v& Y词典code一定要规范,是不是做到xhtml标准的那种程度?) C1 F7 R4 U+ G3 Y  X+ p
    还有就是,可不可以做成直接支持mdx的txt源码?并且进 ...
    3 W- a; K8 J4 X0 i# E
    词典code一定要规范,是不是做到xhtml标准的那种程度?0 x! l. B9 W! c( \. |; q3 `2 p
    确切的说,是的。因为词典code是 HTML 代码,各大软件都按 XHTML 标准支持,现在是 HTML5,其次再做一些冗余性调整,越规范,兼容性越好。0 A, e( J' v8 E0 G3 W" J
    1 l1 f; z4 L1 n  Z% d5 P1 Y
    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:294 k/ Q* a' X5 `) g$ Y
    词典code一定要规范,是不是做到xhtml标准的那种程度?
    , W8 p5 k/ a* }- Z0 V: ^1 |确切的说,是的。因为词典code是 HTML 代码,各大 ...
    ( C' [& W3 Z7 }. n0 t
    mdx源码的txt都是有规律的,利用正则可以提取词头生成索引,txt文件太大,可以用dictzip压缩成dz(gzip文件)然后读取内容。
  • TA的每日心情
    开心
    昨天 14:54
  • 签到天数: 576 天

    [LV.9]以坛为家II

    发表于 2019-3-24 07:37:11 | 显示全部楼层
    zzzz_sleep 发表于 2019-3-23 20:52
    6 Z* N0 T6 a! i( h! B% D" `7 \可以办到,但主要功能不是我提供的, P( z) `9 P4 K- x3 t# K
    7 O8 S; ]" s- L2 j: ~0 E* R0 f  z
    1. 首先,运行我的程序,家里内网的机器可以正常访问

    9 r6 T6 {$ R; ]谢谢楼主解答,我家里的电脑是直接连在“光猫”上,500M的宽带,一个月1T流量后会降到300M,这是个基本情况,这样设置的话是不是要简单点?
  • TA的每日心情
    慵懒
    2019-9-17 13:45
  • 签到天数: 109 天

    [LV.6]常住居民II

     楼主| 发表于 2019-3-24 11:09:59 | 显示全部楼层
    Budha 发表于 2019-3-24 07:37
    & q& [  e, O$ n* U9 w谢谢楼主解答,我家里的电脑是直接连在“光猫”上,500M的宽带,一个月1T流量后会降到300M,这是个基本情 ...
    + H& d: O3 n2 c  N; J. s, D. s) r0 Y
    ( @! w* _# G8 T' U* @
    是简单些,但是会危险些
    : R( [: [7 {" m: r  n3 |
    " B6 u0 f: \. l3 v/ k) u4 a. Z' Q简单:! g! l0 Q" }4 ]0 q$ y
    直接连光猫上,PC 是需要拨号才能上网吧,查看拨号后的IP,应当是 Internet 公网IP,直接用手机访问这个 公网 IP 加 5000,即可。不需要网络端口映射
    4 M, e1 s4 F! J! M0 e1 P4 ?7 n5 f+ t7 C9 j
    危险:
    # S! Z7 i6 I  q* f3 zPC 直连到 Internet 上,没有经过防火墙隔离(Windows自带的不算)容易招到网络攻击,windows 补丁不能及时更新,容易被人攻入
  • TA的每日心情
    慵懒
    2019-9-17 13:45
  • 签到天数: 109 天

    [LV.6]常住居民II

     楼主| 发表于 2019-3-24 11:18:08 | 显示全部楼层
    流星冲击 发表于 2019-3-24 05:48
    . J' B1 M% e' vmdx源码的txt都是有规律的,利用正则可以提取词头生成索引,txt文件太大,可以用dictzip压缩成dz(gzip文 ...

    , f$ i. C8 |& {1 U  z) f+ f是可以生成索引,直接显示,但 TXT 格式变化有限,不支持字体,颜色,排版等复杂需求,直接显示到用户终端很丑陋,需要根据 TXT 指令转换为复杂的 HTML 格式才能解决。. X0 Y4 `7 Z, }2 x2 [" F3 _
    5 @# D6 O2 |7 Y! V
    这个转换可以动态转换,即显示一个词条时,先将 TXT 转换为 HTML,再显示6 [  \1 z# Z/ D6 p& n9 c
    静态转换,先全部转换 TXT 格式到 HTML,显示时直接传递
    ( _! k3 h0 ?/ t( p
    5 G/ o( I4 n0 ?( I$ f显然第二种方法更有效率,用户体验更好。$ l+ f0 t7 i' Q4 J- v
  • TA的每日心情
    开心
    昨天 14:54
  • 签到天数: 576 天

    [LV.9]以坛为家II

    发表于 2019-3-24 13:16:05 | 显示全部楼层
    zzzz_sleep 发表于 2019-3-24 11:09' k4 ^7 Y2 S3 m2 w* U
    是简单些,但是会危险些
    ) U' R& _  w+ [, y/ J& T9 N/ y6 V0 k# c1 @4 ]
    简单:
    $ v2 e8 `% g. I
    我看了下一共有5个地址- G4 g8 k' g( R
    1.物理(mac)地址
    $ y; N, ~7 p& l0 \4 r2.ipv4地址
    % C" k% u. }" Z3.ipv6地址6 f8 \, j! L4 z1 F/ E
    4.默认网关7 ~/ x% n0 l; z7 g
    5.dns服务器
    & `: e+ t1 S; a6 `我再手机上应该在哪个地址后加5000?
  • TA的每日心情
    慵懒
    2019-9-17 13:45
  • 签到天数: 109 天

    [LV.6]常住居民II

     楼主| 发表于 2019-3-25 05:57:49 | 显示全部楼层
    Budha 发表于 2019-3-24 13:16
    . ~% j- p" R& M. o* q  b我看了下一共有5个地址
    : V! ^9 Z. K( F  v% l, O1.物理(mac)地址" |( o5 ^; e% d, A4 e0 n7 x: i
    2.ipv4地址

    " ~+ X" m8 o+ O- T+ Z7 m2.ipv4地址
    # x4 V2 [6 s) R/ O8 O
    : ]1 B3 A, M9 }ipv4:5000
  • TA的每日心情
    开心
    9 分钟前
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    发表于 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-10-23 06:11 , Processed in 0.168225 second(s), 15 queries , MemCache On.

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

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