2011-06-11 74 views
0

我有一长串单词,我试图将名词只输出到输出。我试图做到这一点的方法是:在PHP中并行处理

IF THE WORD IS A PROPER NOUN , JUST PRINT IT { 
// THIS IS DONE USING REGULAR EXPRESSION 
} 
ELSE{ 
// GO TO ONLINE DICTIONARY http://www.thefreedictionary.com/WORD AND SEE IF CHECK IF THE WORD IS NOUN BY HAVING ANOTHER REGULAR EXPRESSION CHECKING FOR THE NOUN IN THE SOURCE CODE OF THIS PAGE 
} 

我有单元测试的其他部分,它对单个单词工作正常。没有其他部分,该程序打印4000+字,但是当我集成了其他部分时,程序仅打印大约80个字,这是错误的。

有人可以指出问题可能是什么?是否有一些并行的方式来处理这些请求的许多单词?

+0

您是否在调用'exit'或'die'或别的东西? – 2011-06-11 00:49:04

+0

不,我打开一个网址来创建一个句柄,然后在else中关闭它 – rkt 2011-06-11 00:53:03

+1

对于我们来说,这和尝试绘制蒙娜丽莎而不真正看到它一样困难。 – joakimdahlstrom 2011-06-11 00:55:37

回答

3

有人可以指出问题可能是什么?

我认为这是因为对字典网站的HTTP请求需要时间。

是否有处理这些请求的许多单词的并行方式?

您可以建立一个没有匹配的单词列表,然后在/以后并行处理它。但这不是微不足道的。您可以先使用curl库或其他多请求组件一次发送多个HTTP请求。

此外,您不需要向一次只能回答一个单词的网站发送请求,而是可以询问一个数据库,该数据库有很多可以放在系统上的数据库,如Extracting nouns from a long list of words

0

向服务器发出数千个请求,每个请求单元测试,更不用说现场环境本身,可能很容易让你被禁止。

试着用其他方式做这个,比如使用静态字典。它更快,更高效,无风险。