目录
钥匙要点
定价和API Health
>通过使用Vagrant SSH串入VM,进入代码文件夹,并执行作曲家创建作曲家创建Prokoxproject Laravel/Laravel Laravel-Prefer-Dist,从而创建一个启动器Laravel项目。这将使您可以通过http://homestead.app:8000从主机的浏览器访问Laravel问候页面。
在app/utaes.php中添加以下途径:
在项目root中,运行作曲家更新。
结论
经常询问有关difbot
> difbot的主要功能是什么?它旨在以人类的方式理解网页,使其成为数据提取的强大工具。 Difbot可用于从社交媒体网站,新闻文章,产品页面等收集数据。这对于需要快速,准确地收集大量数据的企业特别有用。
diffbot可以提取提取来自网页的广泛数据类型。这包括文本,图像,视频等。它还可以提取元数据,例如网页的作者或发布的日期。这使Difbot成为数据提取的多功能工具,能够从网络中收集广泛的信息。
> difbot易于使用吗?
difbot可以处理大量数据吗?数据。对于需要快速,准确地收集和分析大量数据的企业来说,这是一个强大的工具。 Diffbot的机器学习技术允许其快速处理数据,使其成为大数据项目的宝贵工具。
首页 后端开发 php教程 Difbot:爬行视觉机业学习

Difbot:爬行视觉机业学习

Feb 20, 2025 pm 12:44 PM

Difbot:爬行视觉机业学习

钥匙要点

  • > difbot是一种“视觉学习机器人”,它利用机器学习来爬网和视觉提取数据,比传统的网络爬行者提供了对Web内容的更可靠和类似人类的解释。
  • difbot API完全渲染页面,包括JavaScript内容,并允许从网页中提取各种数据类型,包括文本,图像,视频和元数据,例如作者或出版日期。
  • difbot的自定义API功能允许用户调整现有的difbot API或为自定义内容处理创建全新的API,从而从源代码中提取特定数据元素。
  • 您是否曾经想过,当您共享链接时,社交网络如何进行URL预览如何?他们怎么知道要抓住哪些图像,作为作者引用的图像,或者在预览中附加哪些标签?这一切都在源代码上爬行了复杂的言论吗?实际上,通常不是。源中定义的元信息可能是不可靠的,并且声誉不高的网站通常将其用作关键字载体,试图使搜索引擎排名更高。我们不是人类,在我们面前看到什么?
  • >
如果您想构建URL预览片段或新闻聚合器,则在线有许多自动爬网器,包括专有和开源,但是您很少会找到像Visual Machine Learning这样的利基市场。这正是difbot的本质 - 一个“视觉学习机器人”,它呈现出您完全要求的URL,然后视觉上提取数据,并根据需要从页面源帮助自己。

涵盖了一些理论后,在本文中,我们将在Sitepoint的一篇文章之一上进行演示API。

> php库

difbot的PHP库有些过时,因此我们不会在此演示中使用它。我们将执行RAW API呼叫,在以后的一些帖子中,我们将构建自己的API互动库。>

>尽管您想查看PHP库,但请参阅此处,如果您对其他语言的库感兴趣,Diffbot有一个目录。>

更新,2015年7月:自本文发表以来,已经开发了PHP库。在此处查看其整个开发过程,或此处的源代码。

>

> JavaScript内容

>我们在介绍性部分中说,Difbot将请求完全呈现,然后对其进行分析。但是,JavaScript内容呢?如今,网站通常在折叠上方渲染一些HTML,然后完成CSS,JS和动态内容加载。 difbot api可以看到吗?

实际上,是的。 Diffbot实际上将页面完整呈现,然后在我的Stackoverflow Q&A中进行视觉检查。不过,有一些警告,因此请确保您仔细阅读答案。

>

定价和API Health

difbot具有多个用法层。有一个免费的试用层,可在7天或10000个电话后杀死您的API令牌,以先到者为准。商业代币可以以各种价格购买,永远不会到期,但确实有局限性。开源和/或教育项目提供了一种特殊情况,该项目提供了较旧的免费令牌模型 - 每月最大一次,每秒一次,但永远不会到期。如果您认为自己有资格,您需要直接与他们联系。

difbot可以保证高正常运行时间,但有时会发生故障 - 尤其是在束最密集的API中,爬网:爬网。 Crawlbot用于爬网,而不仅仅是单个页面,因此比其他API的可靠性较低。没有很多,但是足以在API健康屏幕中引起注意 - 您可以检查API是否启动并运行,或者如果您的呼叫运行到问题或返回错误500时,您可以查看API是否正在运行,或者当前无法使用。

demo

要准备您的环境,请启动一个宅基地改进的实例。>

创建项目

>通过使用Vagrant SSH串入VM,进入代码文件夹,并执行作曲家创建作曲家创建Prokoxproject Laravel/Laravel Laravel-Prefer-Dist,从而创建一个启动器Laravel项目。这将使您可以通过http://homestead.app:8000从主机的浏览器访问Laravel问候页面。

>

添加路线和操作

在app/utaes.php中添加以下途径:

>

在应用程序/控制器/Homecontroller中添加以下操作:

<span>Route<span>::</span>get('/diffbot', 'HomeController@diffbotDemo');</span>
登录后复制
登录后复制
登录后复制
>如果http://homestead.app:8000/diffbot现在在屏幕上输出“ HI”,我们已经准备好开始使用API​​。

获取令牌

<span>public function diffbotDemo() {
</span>        <span>die("hi");
</span>    <span>}</span>
登录后复制
登录后复制
要与DiffBot API进行交互,您需要一个令牌。在其定价页面上注册一个。为了进行此演示,让我们称之为令牌$令牌,我们将在URL中称为。在适当的情况下,用您自己的价值替换$令牌。

>安装guzzle

>我们将使用Guzzle作为HTTP客户端。这不是必需的,但我建议您通过过去的文章熟悉它。>

>添加“ guzzlehttp/guzzle”:“ 4.1.*@dev”到您的作曲家。

在项目root中,运行作曲家更新。

>提取文章数据

在第一个示例中,我们将使用Diffbot的默认文章API爬网。为此,我们指的是在解释工作流程方面做得很好的文档。将diffbotdemo动作的主体更改为以下代码:

>

"require": {
		"laravel/framework": "4.2.*",
        "guzzlehttp/guzzle": "4.1.*@dev"
	},
登录后复制
首先,我们设置了令牌。然后,我们定义一个将持有API版本的变量。接下来,由我们创建一个新的guzzle客户端,我们也给它一个基本URL,因此我们不必在每次提出另一个请求时都将其输入。

>

接下来,我们通过向API的URL发送get请求来创建一个响应对象,然后以key => value格式中添加一个查询参数。在这种情况下,我们仅传递给令牌和URL,这是最基本的参数。

>

>最后,由于Diffbot API返回JSON数据,我们使用Guzlezle的JSON()方法将其自动解码为数组。然后,我们非常印刷此数据:

Difbot:爬行视觉机业学习

如您所见,我们很快收回了一些信息。有使用的图标,已返回文本,标题,甚至语言,日期和HTML的预览。但是,您会注意到没有作者。让我们更改此内容并要求更多值。

>

>如果我们将“字段”参数添加到查询参数列表中并给它一个“标签”的值,则DiffBot将尝试从提供的URL中提取标签/类别。将此行添加到查询阵列:

<span>Route<span>::</span>get('/diffbot', 'HomeController@diffbotDemo');</span>
登录后复制
登录后复制
登录后复制
,然后将模具部分更改为:

>

<span>public function diffbotDemo() {
</span>        <span>die("hi");
</span>    <span>}</span>
登录后复制
登录后复制
刷新屏幕现在为我们提供了:

Difbot:爬行视觉机业学习

,但是,本文的源代码记录了其他几个标签:

>

Difbot:爬行视觉机业学习

>为什么结果如此不同?这正是由于我们在本文第一段结束时提到的原因:我们人类看到的是优先。 Diffbot是一个视觉学习机器人,因此它的AI从实际渲染内容(它可以看到的内容)中扣除了标签,而不是从查看源代码中,该源代码很容易出于SEO的目的。 但是,如果有人真正需要,是否有一种方法可以从源代码中获取标签?此外,我们可以让Difbot在Sitepoint文章上识别作者吗?是的。使用自定义API。

>元标记和具有自定义API

的作者

自定义API是一个功能,您不仅可以通过添加新的字段和内容提取规则来调整现有的DiffBot API,还可以使您创建全新的API(也可以通过专用URL访问)用于自定义内容处理。

>转到开发仪表板并使用令牌登录。然后,进入“自定义API”。激活底部的“创建规则”选项卡,然后输入我们要爬到URL框中的文章的URL,然后单击“测试”。您的屏幕应该看起来像这样:

>您会立即注意到作者字段是空的。您可以通过单击其旁边的编辑来调整作者搜索规则,并在打开的实时预览窗口中找到作者元素,然后单击它以获取所需的结果。但是,由于某些人在SitePoint的末端不到完美的CSS,因此很难为Diffbot的API提供一致的作者名称途径,尤其是通过单击元素。相反,手动添加以下规则:.contributor-large .contributor_name a,然后单击“保存”。

>您会注意到“预览窗口”现在正确填充了作者字段:>

Difbot:爬行视觉机业学习

实际上,该新规则会自动应用于您令牌的所有站点点链接。如果您尝试预览另一个SitePoint文章,那么您会发现Peter Nijssen已成功提取:

Difbot:爬行视觉机业学习

好吧,让我们进一步修改API。我们需要文章:源代码中可见的标签值。这样做需要一个两步的过程。

>步骤1:定义集合

>集合正是听起来像是通过特定规则集获取的值集合。我们称我们的集合为“ metatags”,并为其提供以下选择器:meta [property = Artive:tag]。这意味着“在HTML中查找具有带有值文章的属性属性的所有元元素:tag”。

>步骤2:定义收集字段

>集合字段是集合中的个别条目 - 在我们的情况下,各种标签。单击“将自定义字段添加到此集合”,然后添加以下值:>

单击保存。您将立即可以访问“结果”窗口中的标签列表:Difbot:爬行视觉机业学习>

将diffbotdemo()动作的最终输出更改为: Difbot:爬行视觉机业学习

现在,如果您现在刷新我们测试的URL(http://homestead.app:8000/diffbot),您会注意到作者和元标记值在那里。这是上述代码生成的输出:

>

<span>Route<span>::</span>get('/diffbot', 'HomeController@diffbotDemo');</span>
登录后复制
登录后复制
登录后复制

我们有我们的标签!

结论

> difbot是Web的强大数据提取器 - 无论您是否需要将许多站点合并为单个搜索索引,而无需结合后端,想要构建新闻汇总器,对URL Preview Web组件有一个想法,还是想法想要定期收获竞争对手公共定价清单的内容,Diffbot可以提供帮助。有了DEAD简单的API调用和高度结构化的响应,您几乎没有时间启动并运行。在后来的文章中,我们将构建一个全新的API,用于将DIFFBOT与PHP一起使用,并用它重做上述电话。我们还将在Packagist上托管库,因此您可以轻松地将其与作曲家安装。请继续关注!

经常询问有关difbot

的问题(常见问题解答)

> difbot的主要功能是什么?它旨在以人类的方式理解网页,使其成为数据提取的强大工具。 Difbot可用于从社交媒体网站,新闻文章,产品页面等收集数据。这对于需要快速,准确地收集大量数据的企业特别有用。

>

> diffbot的机器学习技术如何工作?

diffbot使用一种已知的人工智能形式来理解的人工智能形式并解释网页。它使用算法来分析网页的结构和内容,然后根据该分析提取相关数据。这允许Diffbot以类似于人类的方式来理解网页,使其成为数据提取的功能强大的工具。

哪些类型的数据可以difbot提取?

diffbot可以提取提取来自网页的广泛数据类型。这包括文本,图像,视频等。它还可以提取元数据,例如网页的作者或发布的日期。这使Difbot成为数据提取的多功能工具,能够从网络中收集广泛的信息。

>

> diffbot的数据提取的准确性如何?

diffbot的数据提取非常准确,这要归功于它使用机器学习技术。它旨在以人类的方式理解网页,从而使其能够准确识别和提取相关数据。但是,像任何工具一样,它的准确性可以取决于网页的复杂性和所提取的数据类型。

可以从社交媒体站点中提取数据吗?

是的,是的,diffbot可以从社交媒体网站中提取数据。这包括Facebook,Twitter和LinkedIn等网站。它可以收集帖子,评论,喜欢和分享等数据,使其成为社交媒体分析和市场研究的有用工具。

> difbot易于使用吗?

difbot设计为用户友好,具有简单的接口和清晰的说明。但是,像任何工具一样,新用户可能会有学习曲线。幸运的是,DiFbot提供了一系列资源来帮助用户开始,包括教程和客户支持。

difbot可以处理大量数据吗?数据。对于需要快速,准确地收集和分析大量数据的企业来说,这是一个强大的工具。 Diffbot的机器学习技术允许其快速处理数据,使其成为大数据项目的宝贵工具。

>

哪些行业可以从使用DiffBot?

>中受益。 difbot。这包括营销,研究,新闻业,电子商务等。任何依赖于网络收集和分析数据的行业都可以从使用Difbot中受益。

> difbot与其他数据提取工具相比如何?

difbot从其他数据提取工具中脱颖而出。使用机器学习技术。这使其可以以类似于人类的方式来理解和解释网页,从而使其成为数据提取的强大而准确的工具。但是,像任何工具一样,其有效性可以取决于用户的特定需求。

是DiffBot是可靠的数据提取工具吗?它被广泛的企业和行业用于收集和分析网络的数据。它对机器学习技术的使用使其能够准确提取相关数据,从而使其成为可信赖的数据提取工具。

以上是Difbot:爬行视觉机业学习的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

在PHP API中说明JSON Web令牌(JWT)及其用例。 在PHP API中说明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

会话如何劫持工作,如何在PHP中减轻它? 会话如何劫持工作,如何在PHP中减轻它? Apr 06, 2025 am 12:02 AM

会话劫持可以通过以下步骤实现:1.获取会话ID,2.使用会话ID,3.保持会话活跃。在PHP中防范会话劫持的方法包括:1.使用session_regenerate_id()函数重新生成会话ID,2.通过数据库存储会话数据,3.确保所有会话数据通过HTTPS传输。

PHP 8.1中的枚举(枚举)是什么? PHP 8.1中的枚举(枚举)是什么? Apr 03, 2025 am 12:05 AM

PHP8.1中的枚举功能通过定义命名常量增强了代码的清晰度和类型安全性。1)枚举可以是整数、字符串或对象,提高了代码可读性和类型安全性。2)枚举基于类,支持面向对象特性,如遍历和反射。3)枚举可用于比较和赋值,确保类型安全。4)枚举支持添加方法,实现复杂逻辑。5)严格类型检查和错误处理可避免常见错误。6)枚举减少魔法值,提升可维护性,但需注意性能优化。

描述扎实的原则及其如何应用于PHP的开发。 描述扎实的原则及其如何应用于PHP的开发。 Apr 03, 2025 am 12:04 AM

SOLID原则在PHP开发中的应用包括:1.单一职责原则(SRP):每个类只负责一个功能。2.开闭原则(OCP):通过扩展而非修改实现变化。3.里氏替换原则(LSP):子类可替换基类而不影响程序正确性。4.接口隔离原则(ISP):使用细粒度接口避免依赖不使用的方法。5.依赖倒置原则(DIP):高低层次模块都依赖于抽象,通过依赖注入实现。

在PHPStorm中如何进行CLI模式的调试? 在PHPStorm中如何进行CLI模式的调试? Apr 01, 2025 pm 02:57 PM

在PHPStorm中如何进行CLI模式的调试?在使用PHPStorm进行开发时,有时我们需要在命令行界面(CLI)模式下调试PHP�...

如何用PHP的cURL库发送包含JSON数据的POST请求? 如何用PHP的cURL库发送包含JSON数据的POST请求? Apr 01, 2025 pm 03:12 PM

使用PHP的cURL库发送JSON数据在PHP开发中,经常需要与外部API进行交互,其中一种常见的方式是使用cURL库发送POST�...

解释PHP中的晚期静态绑定(静态::)。 解释PHP中的晚期静态绑定(静态::)。 Apr 03, 2025 am 12:04 AM

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

See all articles