Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
2年前关闭。
我正在尝试找到一个等效于Scrapy for Javascript的框架。我目前正在尝试构建一个React Web应用程序,并且试图找到一种方法来抓取我们的页面,因为它不提供任何API。有什么办法可以做到吗?提前致谢。
动态刮板
或者您可以使用parsehub并使用ParseHub API(围绕REST设计)。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
2年前关闭。
我正在尝试找到一个等效于Scrapy for Javascript的框架。我目前正在尝试构建一个React Web应用程序,并且试图找到一种方法来抓取我们的页面,因为它不提供任何API。有什么办法可以做到吗?提前致谢。
最佳答案
您可以使用Scraperjs,Scraperjs是一个Web刮板模块,可轻松刮擦Web。
Scraperjs公开了两种不同的刮板,
一个StaticScraper,它速度快,占用空间少,但是它不允许出现更复杂的情况,例如抓取动态内容。
DynamicScraper,虽然有点沉重,但可以像在浏览器控制台中一样刮取动态内容。两种抓取工具都公开了非常相似的API,在抓取方面有一些细微的差别。
静态刮板:
var scraperjs = require('scraperjs');
scraperjs.StaticScraper.create('https://news.ycombinator.com/')
.scrape(function($) {
return $(".title a").map(function() {
return $(this).text();
}).get();
})
.then(function(news) {
console.log(news);
})
动态刮板
var scraperjs = require('scraperjs');
scraperjs.DynamicScraper.create('https://news.ycombinator.com/')
.scrape(function($) {
return $(".title a").map(function() {
return $(this).text();
}).get();
})
.then(function(news) {
console.log(news);
})
或者您可以使用parsehub并使用ParseHub API(围绕REST设计)。
10-04 16:17