如何使用标准库和Node.js轻松抓取网站以获取信息

网络抓取工具是一种工具,可让我们选择网站的非结构化数据并将其转换为结构化数据库。 那么,网络刮板将在哪里派上用场呢? 我列出了我最喜欢的用例,让您对启动自己的应用感到兴奋!

Quora上的这个问题鼓励我构建网络刮板。
  • 抓取房地产列表-企业正在使用网络抓取来收集已经列出的房地产
  • 刮擦零售商或制造商网站上的产品/产品评论以显示在您的网站中,提供规格/价格比较
  • 抓取新闻网站以应用自定义分析和管理(手动或自动),向受众提供针对性更强的新闻
  • 收集电子邮件地址以产生潜在客户

您可以在此处阅读网络刮板的其他方便使用案例。

现在开始吧! 作为一个简单的示例— 我们将抓取Hacker News的首页以获取链接的标题。

如果您还不熟悉 标准库 ,那您将大饱口福! 标准库 是一个API开发和发布平台,可以帮助您使用浏览器内的API编辑器( 标准库上的 代码)在创纪录的时间内构建和发布 代码。

第一步:登录标准库中的代码

第一步是转到https://code.stdlib.com/并创建一个免费帐户。 Standard Library上的代码是由Standard Library的团队构建的在线API编辑器,这是一个可嵌入式开发环境,用于快速构建API,webhooks和工作流自动化任务。

在左下角单击(登录) 。 如果您具有标准 帐户,请单击“ 已注册”,然后使用您的标准库凭据登录。 将会弹出一个模式,提示您声明名称空间 (这是您的用户名)。 输入您的电子邮件并选择一个密码。

创建帐户后,将出现另一个模块,其中列出了订阅计划。 免费帐户是您入门所需的全部,但您可以在此处阅读有关标准库定价套件的更多信息

单击“ 订阅+赚取积分”后,您应该会看到一条确认消息。

单击继续以返回到登录页面。

第二步:选择Web Scraper源代码

从源代码按钮中选择API 标准库源代码旨在简化不同类型项目的创建。 源代码为样板代码和目录设置等提供了默认值,因此您可以直接开发和实现更复杂的功能。

您应该看到已发布源代码的列表。 向下滚动并选择@ nemo / web -scraper 。 确保输入所需的API名称,然后点击确定 (或按Enter)

然后,您将在以下位置看到端点的代码: functions/__main__.js

在右侧,您会注意到一个参数框。

在URL必需的参数类型中:

https://news.ycombinator.com/

在查询中输入:

[[".storylink", "text"]]

选择绿色的“ 运行 ”按钮。

在几秒钟之内,您应该在Hacker News的首页上的标准库代码结果部分下获得链接标题列表。 您会注意到一个文档门户—将文档URL复制并粘贴到浏览器中的新选项卡中,以查看标准库中的API信息。

如何运作🤓

Web抓取工具对URL进行简单的GET请求,然后在结果页面上运行一系列查询并将其返回给您。 它使用了强大的cheerio DOM(文档对象模型)处理器,使我们能够使用CSS选择器从页面中获取数据! CSS选择器是用于选择要组织的元素的模式。

如何使用CSS选择器查询

网页以诸如HTML 标记语言编写。HTML 元素是HTML文档或网页的一个组成部分。 元素定义信息在浏览器上的显示方式,例如图像,多媒体,文本,样式表,脚本等。

在此示例中,我们使用“ .class”选择器 (class =“ .storylink”)从Hacker News主页的所有元素中获取所有超链接的标题。

如果您想知道如何查找组成网站的元素的名称,请允许我向您展示!

启动Google Chrome浏览器,然后输入我们的Hacker News URL地址https://news.ycombinator.com/ 。 然后,右键单击任何文章的标题,然后选择“ 检查”。 ”这将在Google Chrome上打开Web控制台。 或者,您可以使用命令键⌘)+选项键(⌥)+ J键。

右键单击并选择检查

Web开发人员控制台将在屏幕右侧打开。 请注意,当您选择链接的标题时,控制台上的部分也会突出显示。 高亮显示的元素具有定义为“ storylink”的“类”。 现在,您知道了如何在任何站点上查找元素的名称!

如果要在Hacker News上查询其他元数据,请将光标悬停在它上面。 在下面,您可以看到如何通过将鼠标悬停在Hacker News上的.class选择器=“ sitestr”来查询链接的URL。

就是这样,谢谢!

谢谢阅读! 我希望您在这里发表评论给我发电子邮件给Janeth [at] stdlib [dot] com ,或者在Twitter上关注标准库 @StdLibHQ 。 让我知道您是否建立了希望标准库团队展示或分享的精彩内容-我很乐意提供帮助!

珍妮丝·莱德兹玛(Janetth Ledezma)是标准库和伯克利大学毕业生的开发倡导者! she当她不学习阿拉伯语或锻炼时,您会发现她骑着CBR500R。 with通过Twitter @mss_ledezma的 标准库跟踪她的旅程

From: https://hackernoon.com/scrape-websites-for-information-easily-using-code-xyz-and-node-js-8be3e2f938ab

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值