繁体   English   中英

Perl SQLite 字典

[英]Perl SQLite dictionary

我们如何使用 perl 脚本将字典插入 SQLite 数据库?

我为 unix 平台找到了这个

http://developeronline.blogspot.in/2008_04_01_archive.html

但它在 Windows 上不起作用。 我的机器上安装了草莓 perl 和 SQLite。 有人可以帮助我如何使用 perl 创建字典吗?

在说“我找到了这个”时,最好指向您要向我们展示的特定帖子,而不是包含许多帖子的页面。 我认为您正在谈论的实际帖子是这个

这是可怕的代码; 由显然对 Perl 知之甚少的人编写。

你说它是为 Unix 编写的。 鉴于它是一篇 Microsoft 文章并且cls的使用证实它是针对 Windows 环境的,这似乎不太可能。 但是(正如 CL 在上面的评论中指出的那样)安装了wget程序的那些。

将代码重写为近似于真实 Perl 的代码,结果如下:

use strict;
use warnings;

use LWP::Simple;

my $message = "\nPlease enter a word to look for:\n>";

print $message;

while (<>) {
  chomp;
  if ($_ eq "<") {
    system("cls");
    print $message;
  } else {
    print "Connecting..";
    my $url = "http://wordnetweb.princeton.edu/perl/webwn?s=$_";
    my $page = get $url;

    if ($page =~ /<\s*b>$word<\/b>[^\(]+\(([^\)]*)\)/) {
      print "\n#def#$1";
    }
  }
}

我已经改用LWP::Simple模块而不是wget因为为此使用外部模块似乎很愚蠢。 我还不得不更改 URL,因为自文章撰写以来的七年中地址已经更改。

此版本有效,但仍需大量清理。 特别是,从这样的网站上抓取信息是很脆弱的(并且经常违反您正在抓取的网站的条款和条件)。 寻找一个可以为您提供相同信息的 API 会是一个更好的主意。

更新:如果要将字典加载到数据库中,最好的方法是下载源文件并解析它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM