任何好的javascript库都可以允许对网站进行爬网

Any good javascript library to allow crawling of website

本文关键字:网站 javascript 都可以 任何好      更新时间:2023-09-26

我需要一个javascript库来抓取web应用程序。我发现了这个https://github.com/riccardo-forina/status-jquery-crawler但正如作者所说,这还处于发展的早期阶段。在谷歌上搜索了很多之后,我什么都找不到感谢您的任何输入

Javascript有许多实用程序可以使用。

选择工具时最大的问题是,"我的网站是否使用Javascript加载我想要的内容?"。例如,谷歌的搜索页面几乎都包含在他们响应HTTPGET请求发送的HTML中。

其他网站可能会加载最初使用Javascript的HTML中不包含的评论、通知或图片。这意味着,如果你只是说,给我网站A的HTML,你会得到的页面不会错过很多你想要的内容。

静态站点

对于大多数需要HTML的网站,有一些优秀的node.js抓取库可供您使用:

x射线——一个整洁的包裹,将cheerio包裹在一个声明性的scrape对象中。提供一些简单的结构,用于构建健壮的scrape。

cheerio+请求-这是一个流行的组合,使用cheerio解析HTML并请求为您获取它。您会发现许多资源解释了请求网页、提取HTML,甚至在需要时使用这些工具添加身份验证和维护会话的基本知识。

artoo.js-浏览器中的抓取实用程序。对于原型设计和一次性刮擦非常有用。您可以将其添加为小书签,并在浏览器开发人员的控制台中运行。它允许类似jQuery的选择器,并具有以下一些基本逻辑。

动态网站

如果你需要一个类似浏览器的环境来从你的网站获取内容,你会想在node.js中查看无头网页浏览和驱动程序。PhantomJS是最受欢迎的,但还有很多其他的。请注意,要将PhantomJS与其他Javascript库一起使用,您需要找到node.js驱动程序:

Nightmare-一个与PhantomJS对话并简化基本网页工作流程和抓取的节点库。

SpookyJS-CasperJS的节点库,这是一个在PhantomJS之上构建的工具,也是一个单独的包。

PhantomJS节点-最流行的节点PhantomJS驱动程序。

(很抱歉缺少链接-我现在没有足够的信誉发布2个以上)

PhantomJs是一个基于Javascript的无头webkit,因此您可以使用它进行爬网。PhantomJS上出现了一个新的包装程序,名为Nightmare Jshttp://www.nightmarejs.org/.