本来是要用Hadoop给柯西搜索写一下锚文本聚集。但是发现上个版本的爬虫居然没有存锚文本,实在无聊,写了个统计域名(实际是host)的计数器。
输入:一行一个url
流程:提取url的domain,对domain计数+1
输出:域名,域名计数
这次完全用新的API写的。
代码如下:
Mapper
package com.keseek.hadoop;
import java.io.IOException;
import java.net.URI;
imp[......]
Gevent是一个基于greenlet的Python的并发框架,以微线程greenlet为核心,使用了epoll事件监听机制以及诸多其他优化而变得高效。
于greenlet、eventlet相比,性能略低,但是它封装的API非常完善,最赞的是提供了一个monkey类,可以将现有基于Python线程直接转化为greenlet,相当于proxy了一下(打了patch)。
今天有空就迫不及待的试一下效果。
1、安装
Gevent依赖libevent和greenlet,需要分别安[......]
GString* exec_and_out(char* cmd)
{
GString* ret = g_string_new("");
FILE* stream = NULL;
char buf[128];
size_t len = 0;
//popen execute and open stream
stream = popen(cmd, "r");
if (stream != NULL)
{
while (!feof(stream))
{
len = fread([......]