当前位置: 首页 > 软件库 > 应用工具 > 网络爬虫 >

Ferret

声明式 Web 爬虫系统
授权协议 MIT
开发语言 Google Go
所属分类 应用工具、 网络爬虫
软件类型 开源软件
地区 不详
投 递 者 令狐良骏
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Ferret 是一个声明式的 Web 爬虫系统,旨在简化网络上的数据提取,以用于 UI 测试、机器学习和分析等等。

Ferret 拥有自己的声明式语言,通过抽象出技术细节和底层技术的复杂性,从而更专注于数据本身。

特性

  • 声明式语言

  • 支持静态和动态 web 页面

  • 嵌入式

  • 可扩展

示例

LET google = DOCUMENT("https://www.google.com/", true)

INPUT(google, 'input[name="q"]', "ferret", 25)
CLICK(google, 'input[name="btnK"]')

WAIT_NAVIGATION(google)

FOR result IN ELEMENTS(google, '.g')
    // filter out extra elements like videos and 'People also ask'
    FILTER TRIM(result.attributes.class) == 'g'
    RETURN {
        title: INNER_TEXT(result, 'h3'),
        description: INNER_TEXT(result, '.st'),
        url: INNER_TEXT(result, 'cite')
    }
  • 本着学习的心,接触到了ferret处理数据,但是kali64位上面没有,直接apt-get install ferret是不行的,安装的不是一个,是一个奇怪的东西。 搜了半天,找到了32位的安装方法: dpkg --add-architecture i386 && apt-get update && apt-get install ferret-sidejack:i386 三个命令,依次是添加32

  • 第一次写博客,本人菜鸟一枚,主要记录一下自己学习过程中遇见的问题。        由于ferret没有64位的 所以要装置32位的。但是在网上搜索了一下,按照网上方法试了一下,发现无法进行安装,会出现错误(什么错误我也忘啦,忘了截图~~),于是我就去谷歌了一下,找到了相关的文章。内容一部分如下:        Ferret is a nice little tool that runs with

  • 网络数据包信息收集工具ferret-sidejack   网络数据包传递用户的各种操作和对应的信息。但是由于各种数据混在一起,不利于渗透测试人员分析。Kali Linux提供了一款信息搜集工具ferret-sidejack。该工具既可以从网络接口直接读取数据,也可以读取数据抓包文件。该工具会过滤掉大部分格式性数据,只保留更为有价值的数据,如IP地址、Mac地址、主机名、操作类型、网址、传递的参数等

  • 由于更换服务器后,需要重新安装一些必要软件,经历过以前一个一个软件的安装、调试和出错之后发现,还是使用anaconda安装更方便省时(anaconda下载网址) 1.anaconda的安装 首先将下载的安装包拖到/home/usr_name(你想安装的地方,这个.sh文件必须有执行的权限,没有的话使用chmod +x your_file添加权限),运行以下命令并等待安装完成 bash Anacon

 相关资料
  • 有的时候,当我们的爬虫程序完成了,并且在本地测试也没有问题,爬取了一段时间之后突然就发现报错无法抓取页面内容了。这个时候,我们很有可能是遇到了网站的反爬虫拦截。 我们知道,网站一方面想要爬虫爬取网站,比如让搜索引擎爬虫去爬取网站的内容,来增加网站的搜索排名。另一方面,由于网站的服务器资源有限,过多的非真实的用户对网站的大量访问,会增加运营成本和服务器负担。 因此,有些网站会设置一些反爬虫的措施。我

  • 互联网时代的信息爆炸是很多人倍感头痛的问题,应接不暇的新闻、信息、视频,无孔不入地侵占着我们的碎片时间。但另一方面,在我们真正需要数据的时候,却感觉数据并不是那么容易获取的。比如我们想要分析现在人在讨论些什么,关心些什么。甚至有时候,可能我们只是暂时没有时间去一一阅览心仪的小说,但又想能用技术手段把它们存在自己的资料库里。哪怕是几个月或一年后再来回顾。再或者我们想要把互联网上这些稍纵即逝的有用信息

  • 这一章将会介绍使用一些新的模块(optparse,spider)去完成一个爬虫的web应用。爬虫其实就是一个枚举出一个网站上面的所有链接,以帮助你创建一个网站地图的web应用程序。而使用Python则可以很快的帮助你开发出一个爬虫脚本. 你可以创建一个爬虫脚本通过href标签对请求的响应内容进行解析,并且可以在解析的同时创建一个新的请求,你还可以直接调用spider模块来实现,这样就不需要自己去写

  • 8.6. 示例: 并发的Web爬虫 在5.6节中,我们做了一个简单的web爬虫,用bfs(广度优先)算法来抓取整个网站。在本节中,我们会让这个这个爬虫并行化,这样每一个彼此独立的抓取命令可以并行进行IO,最大化利用网络资源。crawl函数和gopl.io/ch5/findlinks3中的是一样的。 gopl.io/ch8/crawl1 func crawl(url string) []string

  • 根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种. 通用爬虫 通用网络爬虫 就是 捜索引擎抓取系统,目的是将互联网上的所有的网页下载到本地,形成一个互联网内容的镜像备份。 它决定着整个搜索引擎内容的丰富性和时效性,因此它的性能优劣直接影响着搜索引擎的效果。 通用搜索引擎(Search Engine)工作原理 第一步:抓取网页 搜索引擎网络爬虫的基本工作流程如下: 首先选取一部分的初始UR

  • 爬虫项是什么呢?比如采集文章列表、文章详情页,他们都是不同的采集项。 定义示例: 继承Yurun\Crawler\Module\Crawler\Contract\BaseCrawlerItem类。 <?php namespace Yurun\CrawlerApp\Module\YurunBlog\Article; use Imi\Bean\Annotation\Bean; use Yurun\C

  • 网络爬虫,即 Web Spider,是一个很形象的名字。目前爬虫开发的语言的主要是 Python,本教程是作者实际开发使用的心得总结,还附加几个小的爬虫案例,帮助读者更好的学习 Python 开发爬虫。 适用人群 适用于爬虫初学者,如果你对高效抓取数据有兴趣,那么本教程将会是你不错的选择。 学习前提 学习本教程前,你需要对 Python 语言有一定的了解。 版本信息 书中演示代码基于以下版本: 语

  • 在前面我们已经掌握了Scrapy框架爬虫,虽然爬虫是异步多线程的,但是我们只能在一台主机上运行,爬取效率还是有限。 分布式爬虫则是将多台主机组合起来,共同完成一个爬取任务,将大大提高爬取的效率。 16.1 分布式爬虫架构 回顾Scrapy的架构: Scrapy单机爬虫中有一个本地爬取队列Queue,这个队列是利用deque模块实现的。 如果有新的Request产生,就会放到队列里面,随后Reque