Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? 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