分享
 
 
 

php搜索引擎搜索PDF文档——phpdig & pdftotext

王朝php·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

有段时间没写东西了,最近也就做过这么个东东,就随便写写吧 ^^

phpdig是个好东东,他可以像google一样搜索网上的资源。从最基本的页面,到txt, word, excel, pdf,只要在系统中安装了一些特定软件后也都能搜了。普通页面就不介绍了,我做的是搜索日文PDF文档,所以就介绍一下PDF的搜索吧。^^

phpdig的网站: www.phpdig.net

下载页面: http://www.phpdig.net/navigation.php?action=download

我下的是v.1.8.7,下完安装好了直接到phpdig/admin/index.php页面,用户名和密码默认都是admin,左边的框里打要抓取的地址,下面选深度和每页抓取几个连接。注意这里的Links per 如果为0的话就是抓取这个页面上所有连接。然后就"Dig this!",接下来就能看到结果了。这个步骤只是spider去抓取页面数据存入到数据库里而已,要真正的搜索要去phpdig/search.php这个页面搜。这里还有一点要注意的,就是在搜索的过程中程序没运行完之前就关掉页面的话会导致下次搜索这个页面时出问题,所以不要在页面执行完之前关闭页面。不必担心页面最大执行时间的问题,这个页面的开头部分把执行时间设成一整天了。如果实在是不小心中途就关闭了,也还是有办法补救的。在phpdig/admin/index.php页面,右边的框里选中前面的那个地址,如中途关闭的话,该地址前应该会有"Locked"标记。现在选中这个地址,然后在点击下面的"Stop spider",然后等他stop完成就ok了。

到这里普通的页面都可以搜了,但是诸如word,pdf这些文档都是加过密的,所以直接用spider去抓是抓不到里面的内容的,这里我用到了pdftotext。看字面就能看出来这个东东是把pdf转成了text,以使spider能够抓取PDF文档的内容。

关于这个pdftotext,是xpdf中的一个部分,可以选择下载编译包然后自己编译,也可以选择下载编译好的二进制文件然后上传pdftotext。我选择的后者,没办法,前者编译过程出问题了,而我对linux又不太熟,所以。。。xpdf的源码包和已编译包在这里都能下到:http://www.foolabs.com/xpdf/download.html

下完二进制文件后上传到任何目录,当然你自己得记住。然后用编辑器打开includes/config.php,修改以下代码:

define('PHPDIG_INDEX_PDF',false);

define('PHPDIG_PARSE_PDF','/usr/local/bin/pstotext');

define('PHPDIG_OPTION_PDF','-cork');

改为

define('PHPDIG_INDEX_PDF',true);

define('PHPDIG_PARSE_PDF','你上传的目录/pstotext');

define('PHPDIG_OPTION_PDF','');要注意的是目录要绝对路径,下面的PHPDIG_OPTION_PDF如果只是搜英文PDF文档可以让他空着,如果搜日文的就得加上了,比如:

define('PHPDIG_INDEX_PDF',true);

define('PHPDIG_PARSE_PDF','你上传的目录/pstotext');

define('PHPDIG_OPTION_PDF','-enc UTF-8');

用这个参数的前提是PDF文档的编码要和参数一致,否则是读不了PDF文档的。如果要一些其他的日文编码,比如Shift-JIS, Shift-EUC,那可能要编译安装pdftotext才行,我是用的二进制文件,所以只能用UTF-8,UTF-8估计是pdftotext默认支持的,恰好我要搜索的日文PDF文档的编码也是UTF-8,所以就方便多了。在这里要说一句,编码问题害死人啊,我已经在编码上吃了不少亏了。

还有一点就是v1.8.7是不支持双字节的文档的,比如汉字,日文,韩文都是不支持的。这个也是他的spider在存数据库时的原理造成的。简单的说就是spider是根据文档中的空格来分隔插入数据库的。而双字节的空格和英文中的空格当然是不同的,所以。。。

针对这个问题,我把spider作了些修改,不让他分隔插入,而是把整篇文档的内容都插入同一条记录,效果还不错,虽然改的我自己都有点糊涂了。据说v1.8.8支持双字节文档了,但是一看安装对系统的要求,算了,还是自己改v1.8.7了 = =

其他文档比如word就和这个很类似了,就是把pdftotext换成了catdoc,虽然我也不晓得这个是什么东东^^

由于该系统是在1个多月前做的,一些细节问题都记不太清楚了,希望对各位有所帮助^^

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有