gpt4 book ai didi

ruby - 带有 focus_crawl 的 Anemone Ruby

转载 作者:数据小太阳 更新时间:2023-10-29 08:10:39 24 4
gpt4 key购买 nike

我正在努力进行爬网,但在我对整个网站进行爬网之前,我想对大约几个页面进行一次测试。所以我在想像下面这样的东西会起作用,但我一直收到 nomethoderror....

Anemone.crawl(self.url) do |anemone|
anemone.focus_crawl do |crawled_page|
crawled_page.links.slice(0..10)
page = pages.find_or_create_by_url(crawled_page.url)
logger.debug(page.inspect)
page.check_for_term(self.term, crawled_page.body)
end
end

NoMethodError (private method `select' called for true:TrueClass):
app/models/site.rb:14:in `crawl'
app/controllers/sites_controller.rb:96:in `block in crawl'
app/controllers/sites_controller.rb:95:in `crawl'

基本上我想有一种方法可以先抓取 10 个页面,但我似乎不了解这里的基础知识。有人可以帮我吗?谢谢!!

最佳答案

将这个 monkeypatch 添加到您的抓取文件中。

module Anemone
class Core
def kill_threads
@tentacles.each { |thread|
Thread.kill(thread) if thread.alive?
}
end
end
end

这是一个示例,说明在将它添加到您的爬网文件后如何使用它。然后在您正在运行的文件中将其添加到您的 anemone.on_every_page 方法

@counter = 0
Anemone.crawl(http://stackoverflow.com, :obey_robots => true) do |anemone|
anemone.on_every_page do |page|
@counter+= 1
if @counter > 10
anemone.kill_threads
end
end
end

来源:https://github.com/chriskite/anemone/issues/24

关于ruby - 带有 focus_crawl 的 Anemone Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4301376/

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