zzzz_sleep 发表于 2019-3-22 12:21:41

已有 92 人购买  本主题需向作者支付 5 粒米 才能浏览 购买主题

klwo2 发表于 2019-3-22 13:33:29

{:4_104:}这就是远程查询嘛,好东东

zzzz_sleep 发表于 2021-8-8 13:13:22

jutrshjiydx 发表于 2021-8-7 17:34
楼主呀,ubuntu的详细安装教程能不能发个呀?


ubuntu 更简单,方法更多:

1. 打开 terminal 窗口,安装 apt install python3python3-pip git unzip wget
2. 下载wget https://github.com/liuyug/flask-mdict/archive/master.zip
3.unzip master.zip .用 git clone https://github.com/liuyug/flask-mdict/ 也可以

4. 安装依赖包,pip3 install -r requirements.txt
5.建立 content 目录, mkdir content

6. 下载词频信息https://github.com/skywind3000/ECDICT/raw/master/ecdict.csv

7.将 ecdict.csv 转换为 sqlite3 格式,ecdict.db, 移动到 content 目录下,如果没有不能显示词频信息,其他不影响

8.将词典文件,mdx/mdd 放到 content 目录下,牛津/朗文/汉典...
9. 运行 flask run
10. 浏览器访问 http://127.0.0.1:5000/

zzzz_sleep 发表于 2019-3-23 20:52:57

本帖最后由 zzzz_sleep 于 2019-3-23 20:55 编辑

Budha 发表于 2019-3-23 17:24
我的意思是我电脑一直开着,我人在外面上班或在外地出差,我远程访问家里的电脑,调用词典,楼主的程序可以 ...
可以办到,但主要功能不是我提供的

1. 首先,运行我的程序,家里内网的机器可以正常访问
2. 在家里 AP 路由上做地址转换
    例如,映射外部端口 5000,到家里内网<pc_ip>:5000

注意:
   1. 家里 PC IP 要求是静态 IP,动态 IP (DHCP) 不可以
   2. 你要知道当前确切的外网地址,即 家里 AP 路由在 Internet 上的 IP 地址。这个地址可能每天都会变化,可以通过 DDNS 解决
   3. 映射的外网端口不能是 80,或 443 ,ISP 禁止

总之,主要是网络的问题,不是我程序的问题。太多 IT 术语,属于专业问题,没法细说。

dengao 发表于 2019-3-22 16:57:31

我按楼主说的flask run运行提示:没有模块 ‘mdict’ pip安装后运行提示
AttributeError: module ‘mdict’ has no attribute 'init_app'
不能正常访问网页

lini 发表于 2019-3-22 20:37:17

真的不太懂,本人技术不行,可否简化了发布

zzzz_sleep 发表于 2019-3-22 21:00:46

本帖最后由 zzzz_sleep 于 2019-3-22 21:27 编辑

dengao 发表于 2019-3-22 16:57
我按楼主说的flask run运行提示:没有模块 ‘mdict’ pip安装后运行提示
AttributeError: module ‘mdict ...
运行:flask run
试试

zzzz_sleep 发表于 2019-3-22 21:26:58


这个版本有点问题,我已经更新,请重新下载,链接不变



Budha 发表于 2019-3-23 09:25:12

楼主我运行了falsk run 后,访问http://127.0.0.1:5000,屏幕上出现了提示:“127.00.1:5000拒绝了连接,请查看代理服务器和防火墙设置”

Budha 发表于 2019-3-23 09:45:42

楼主,我刚才没说清楚,我说的是用手机打开http://127.0.0.1:5000,出现了127.0.0.1拒绝连接的提升,可能还要进一步要怎么设置,使我的手机跟电脑处于一个网络?

zzzz_sleep 发表于 2019-3-23 13:22:54

本帖最后由 zzzz_sleep 于 2019-3-23 13:24 编辑

Budha 发表于 2019-3-23 09:45
楼主,我刚才没说清楚,我说的是用手机打开http://127.0.0.1:5000,出现了127.0.0.1拒绝连接的提升,可能还 ...
http://127.0.0.1:5000 只能用本机访问

如果用手机访问,需要改写下 mdict_start.cmd 文件,然后访问你电脑的 http://<your_pc_ip>:5000/
改为
python\scripts\flask.exe run --host 0.0.0.0

Budha 发表于 2019-3-23 14:44:15

我运行绿色版的失败了,我就用第一种方法在本机上访问成功,但在手机上失败,按照第一种方法的话要改啥文件,怎么改?

zzzz_sleep 发表于 2019-3-23 15:35:51

本帖最后由 zzzz_sleep 于 2019-3-23 15:39 编辑

Budha 发表于 2019-3-23 14:44
我运行绿色版的失败了,我就用第一种方法在本机上访问成功,但在手机上失败,按照第一种方法的话要改啥文件 ...
如果你自己安装的 python/flask 运行环境,那么直接运行 flask.exe run --host 0.0.0.0

如果用我提供的运行环境 python\scripts\flask.exe run --host 0.0.0.0, 前面就多个路径

查看您 PC的IP地址,用手机或其他在同一网络的电脑访问 http://<pc_ip>:5000/
请重新下载 mdict 源码文件,刚修复一个界面问题。

dengao 发表于 2019-3-23 15:47:26

楼主超赞,多谢搞定了

Budha 发表于 2019-3-23 17:24:41

我的意思是我电脑一直开着,我人在外面上班或在外地出差,我远程访问家里的电脑,调用词典,楼主的程序可以实现吗?

simonfire 发表于 2019-3-23 19:07:51

本帖最后由 simonfire 于 2019-3-23 19:35 编辑

Budha 发表于 2019-3-23 17:24
我的意思是我电脑一直开着,我人在外面上班或在外地出差,我远程访问家里的电脑,调用词典,楼主的程序可以 ...
这个和程序没关系,关键在于你能不能远程访问家里的电脑


在Ubuntu上简单试用了一下,很不错。

流星冲击 发表于 2019-3-23 23:32:47

本帖最后由 流星冲击 于 2019-3-23 23:36 编辑

词典code一定要规范,是不是做到xhtml标准的那种程度?
还有就是,可不可以做成直接支持mdx的txt源码?并且进一步优化源码的支持,例如词头有good|well|best三个同义词,用“|”符号进行分隔,用以替代link@@@的功能,查这三个词都是指向good这个词头,这个功能在babylon、stardict、lingoes都是有的,这个功能对于制作小语种的同义词非常好用。

zzzz_sleep 发表于 2019-3-24 05:29:36

流星冲击 发表于 2019-3-23 23:32
词典code一定要规范,是不是做到xhtml标准的那种程度?
还有就是,可不可以做成直接支持mdx的txt源码?并且进 ...

词典code一定要规范,是不是做到xhtml标准的那种程度?
确切的说,是的。因为词典code是 HTML 代码,各大软件都按 XHTML 标准支持,现在是 HTML5,其次再做一些冗余性调整,越规范,兼容性越好。

txt源码没做过,不清楚,但理论上可以,但可能会牺牲通用性。HTML 软件原生支持,TXT 格式千变万化,没有统一标准,支持性就差了

流星冲击 发表于 2019-3-24 05:48:07

zzzz_sleep 发表于 2019-3-24 05:29
词典code一定要规范,是不是做到xhtml标准的那种程度?
确切的说,是的。因为词典code是 HTML 代码,各大 ...

mdx源码的txt都是有规律的,利用正则可以提取词头生成索引,txt文件太大,可以用dictzip压缩成dz(gzip文件)然后读取内容。

Budha 发表于 2019-3-24 07:37:11

zzzz_sleep 发表于 2019-3-23 20:52
可以办到,但主要功能不是我提供的

1. 首先,运行我的程序,家里内网的机器可以正常访问


谢谢楼主解答,我家里的电脑是直接连在“光猫”上,500M的宽带,一个月1T流量后会降到300M,这是个基本情况,这样设置的话是不是要简单点?

zzzz_sleep 发表于 2019-3-24 11:09:59

Budha 发表于 2019-3-24 07:37
谢谢楼主解答,我家里的电脑是直接连在“光猫”上,500M的宽带,一个月1T流量后会降到300M,这是个基本情 ...


是简单些,但是会危险些

简单:
直接连光猫上,PC 是需要拨号才能上网吧,查看拨号后的IP,应当是 Internet 公网IP,直接用手机访问这个 公网 IP 加 5000,即可。不需要网络端口映射

危险:
PC 直连到 Internet 上,没有经过防火墙隔离(Windows自带的不算)容易招到网络攻击,windows 补丁不能及时更新,容易被人攻入

zzzz_sleep 发表于 2019-3-24 11:18:08

流星冲击 发表于 2019-3-24 05:48
mdx源码的txt都是有规律的,利用正则可以提取词头生成索引,txt文件太大,可以用dictzip压缩成dz(gzip文 ...

是可以生成索引,直接显示,但 TXT 格式变化有限,不支持字体,颜色,排版等复杂需求,直接显示到用户终端很丑陋,需要根据 TXT 指令转换为复杂的 HTML 格式才能解决。

这个转换可以动态转换,即显示一个词条时,先将 TXT 转换为 HTML,再显示
静态转换,先全部转换 TXT 格式到 HTML,显示时直接传递

显然第二种方法更有效率,用户体验更好。

Budha 发表于 2019-3-24 13:16:05

zzzz_sleep 发表于 2019-3-24 11:09
是简单些,但是会危险些

简单:


我看了下一共有5个地址
1.物理(mac)地址
2.ipv4地址
3.ipv6地址
4.默认网关
5.dns服务器
我再手机上应该在哪个地址后加5000?

zzzz_sleep 发表于 2019-3-25 05:57:49

Budha 发表于 2019-3-24 13:16
我看了下一共有5个地址
1.物理(mac)地址
2.ipv4地址


2.ipv4地址

ipv4:5000

我突然想拉屎 发表于 2019-6-22 23:07:37

这么巧? 昨天顺手自己写了一个django版的。哈哈。仅仅支持txt,每次查询都动态生成转成html条目。就不发表了。

Minghua 发表于 2020-12-2 15:29:41

谢谢,下来看看!
页: [1] 2
查看完整版本: flask-mdict 架设自己的 MDict Web Server