问题标签 [anemone]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
545 浏览

ruby-on-rails - Anemone 可以抓取本地存储在我的硬盘上的 html 文件吗?

我希望将在线的几万页政府数据(在几千个文件夹中)收集在一起,并将它们全部放入一个文件中。为了加快这个过程,我想我会先把网站下载到我的硬盘上,然后再用 Anemone + Nokogiri 之类的东西来抓取它。当我使用政府网站的在线 URL 尝试示例代码时,一切正常,但是当我将 URL 更改为我的本地文件路径时,代码运行,但没有产生任何输出。这是代码:

因此,本地文件名不会输出任何内容,但如果我插入相应的在线 URL,它会成功运行。Anemone 是否以某种方式无法抓取本地目录结构?如果没有,是否有其他建议的方法来进行这种爬行/抓取,或者我应该在网站的在线版本上简单地运行 Anemone?谢谢。

0 投票
1 回答
544 浏览

ruby - 如何使用 Anemone 仅抓取子文件夹

我们可以用海葵(例如:)抓取一个漏洞网站https://stackoverflow.com/,但是如果我只想关注某个文件夹(例如:httpsquestions ://stackoverflow.com/ )怎么办。我怎样才能做到这一点 ?也许使用“focus_crawl”方法?

0 投票
1 回答
343 浏览

ruby - 使用海葵从网站获取 url 列表时出错

代码:

当我尝试这段代码时,我应该得到该网站上所有 url 的列表,但我得到的只是网站的名称。可能是什么错误以及如何获取所有网址的列表?

0 投票
2 回答
339 浏览

ruby - Ruby 中的正则表达式

http://www.example.com/books?_pop=mheader

什么是正则表达式来匹配这个和任何在 URL 中具有“书籍”作为模式匹配之一的 URL?该站点有一个书籍类别和该类别下的各种其他子类别。如何向下遍历以搜索 book 的所有 URL?

0 投票
1 回答
404 浏览

ruby-on-rails - Rails Anemone 和 Postgres 只存储 URL

我想将 URL 保存on_pages_like为某个匹配项。Anemone 正在做它的事情,并且正在创建存储 URL 的记录,但是:

  1. 我想使用类似的东西find_or_create_by_url而不是create!,所以我不是每次都复制记录。
  2. 我想保存网址。目前 URL 正在被保存到数据库中,例如:

    --- !ruby/object:URI::HTTP 方案:http 用户:密码:主机:www.a4apps.com 端口:80 路径:/Websites/SampleCalendar/tabid/89/Default.aspx 查询:不透明:注册表:片段: 解析器:

我想要它像:

我保存到 Postgres 表的原因是我想要另一个任务稍后使用每条记录的 URL 修改该表,而且,我对此有点陌生,并且对添加第二个数据库的想法有点不知所措建议在海葵网站上。

在过去的几天里,我尝试调整基本代码,但还没有找到解决方案。

这是我的耙子任务:

我的观点只是将数据输出到网页上:

我的控制器:

0 投票
0 回答
238 浏览

ruby - Anemone 重新抓取时可以保留以前存储的页面吗

我刚刚了解了蜘蛛框架 Anemone。它的网站说

注意:每个存储引擎都会在开始新的爬取之前清除现有的 Anemone 数据。

问题:我想知道是否可以避免这种情况,即保留已抓取的内容,并在新抓取期间刷新/更新副本?

理由:

我想使用 Anemone 作为远程网页的本地存储。然后,我现有的页面解析器可以从中访问 Nokogiri dom 文档对象。许多页面解析器将需要访问相同的 url 地址,因此这应该避免重复获取同一页面。

另外,Anemone 可能足够聪明,可以使用 http expire 标头来确定页面是否已更新,因此需要重新下载(因为它具有以前的 dom 文档)。

0 投票
1 回答
223 浏览

ruby - 第一页上的海葵打印链接

想看看我做错了什么。这里。

我需要在父页面上打印链接,即使它们是针对另一个域的。然后出去。

我做错了什么?

编辑:什么都不输出。

0 投票
1 回答
1084 浏览

ruby - 如何将 BSON::Binary 反序列化回 ruby​​ 哈希?

我正在使用 Anemone 将抓取的页面存储到 MongoDB 中。它主要工作,除了当我从 MongoDB 检索页面时访问页面标题。

当我打电话时,collection.find_one("http://stackoverflow.com")我将从数据存储中获取正确的对象,但我无法访问标题。

Anemone 将标题存储为哈希,因此理论上,在检索文档后,我应该能够执行类似的操作

但这不起作用,因为document["headers"]它是 BSON::Binary。

显示文本和二进制字符的混合。

如何从 MongoDB 返回的二进制数据创建可用的 ruby​​ 哈希对象?

编辑:我还没有解决最初的问题,但能够修改 Anemone 以便我可以让它为我加载数据,这似乎有效:

然后后来...

0 投票
1 回答
1028 浏览

ruby - 使用 Anemone Web Spider 进行 HTTP 基本身份验证

我需要从网站的所有页面中收集所有“标题”。
站点具有 HTTP 基本身份验证配置。
没有身份验证,我接下来会做:

但是我对 HTTP Basic Auth 有一些问题...
如何使用 HTTP Basic Auth 从站点收集标题?
如果我尝试使用 "Anemone.crawl(" http://username:password@example.com/ ")" 那么我只有首页标题,但其他链接有http://example.com/样式并且我收到 401错误。

0 投票
2 回答
105 浏览

ruby-on-rails - 何时使用“http://”或“http://www”。什么时候刮?

我正在用红宝石海葵宝石抓取少量网站。

根据站点的不同,有些要求 url 中出现“www”,而另一些则要求省略。如何配置爬虫或对其进行编码,以便它知道何时使用正确的 url?