gpt4 book ai didi

web-scraping - Nutch - 克隆网站

转载 作者:行者123 更新时间:2023-12-02 04:45:35 26 4
gpt4 key购买 nike

我正在玩 Apache Nutch,并且成功地抓取了一个网站。我想用 Nutch 克隆一个网站,这样我就可以离线访问爬取的网页。有没有办法做到这一点?我正在寻找类似接收 url 并返回网页内容的端点,就好像我正在使用 curl 获取 url 一样。

我知道有更专业的解决方案,例如 HTTrack ,但我想知道是否可以使用 Nutch 来执行此操作。

最佳答案

我认为您现在不需要这个,但无论如何我都会回答。当然可以使用 Apache Nutch。在注入(inject)种子 url 并生成要获取的 url 段之后,当您执行获取命令时 -

$ bin/nutch fetch -all

Hbase(Nutch用Hbase做存储很常规)webpage表结构会是这样-

webpage : {
key : "com.exampe.dev:http/",
f : {
bas : {
timestamp : 1293732801833,
value : "http://dev.example.com/"
},
cnt : {
timestamp : 1293732801833,
value : "DOCTYPE html PUBLIC "-//W3C//DTD X...rest of page content"
},
fi : {
timestamp : 1293676557658,
value : "\x00'\x8D\x00"
},
prot : {
timestamp : 1293732801833,
value : "x02\x00\x00"
},
st : {
timestamp : 1293732801833,
value : "x00\x00\x00\x02"
},
ts : {
timestamp : 1293676557658,
value : "\x00\x00\x01-5!\x9D\xE5"
}
typ : {
timestamp : 1293732801833,
value : "application/xhtml+xml"
}
},
h : {
Cache-Control : {
timestamp : 1293732801833,
value : "private"
},
Content-Type : {
timestamp : 1293732801833,
value : "text/html; charset=UTF-8"
},
Date : {
timestamp : 1293732801833,
value : "Thu, 30 Dec 2010 18:13:21 GMT"
},
ETag : {
timestamp : 1293732801833,
value : 40bdf8b9-8c0a-477e-9ee4-b19995601dde"
},
Expires : {
timestamp : 1293732801833,
value : "Thu, 30 Dec 2010 18:13:21 GMT"
},
Last-Modified : {
timestamp : 1293732801833,
value : "Thu, 30 Dec 2010 15:01:20 GMT"
},
Server : {
timestamp : 1293732801833,
value : "GSE"
},
Set-Cookie : {
timestamp : 1293732801833,
value : "blogger_TID=130c0c57a66d0704;HttpOnly"
},
X-Content-Type-Options : {
timestamp : 1293732801833,
value : "nosniff"
},
X-XSS-Protection : {
timestamp : 1293732801833,
value : "1; mode=block"
}
},
mk : {
_injmrk_ : {
timestamp : 1293676557658,
value : "y"
},
_gnmrk_ : {
timestamp=1293732629430,
value : "1293732622-2092819984"
},
_ftcmrk_ : {
timestamp : 1293732801833,
value : "1293732622-2092819984"
}
},
mtdt : {
_csh_ : {
timestamp : 1293676557658,
value : "x80\x00\x00"
}
},
s : {
s : {
timestamp : 1293676557658,
value : "x80\x00\x00"
}
}
}

f 列族下名为cnt 的列将包含页面的全部 html 内容。因此,您显然可以使用它来克隆页面。

此外,您可以编写实现ParserParseFilter 接口(interface)的自定义插件来捕获页面的全部内容。代码将非常简单。

关于web-scraping - Nutch - 克隆网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33354460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com