Web scraping 刮屑(和其他非服务刮屑/提取解决方案)的性能限制

Web scraping 刮屑(和其他非服务刮屑/提取解决方案)的性能限制,web-scraping,web-crawler,scrapy,screen-scraping,data-extraction,Web Scraping,Web Crawler,Scrapy,Screen Scraping,Data Extraction,我目前正在使用一个服务,该服务提供了一个简单易用的API来设置用于数据提取的web scraper。提取相当简单:从一个项目列表中的每个项目中获取标题(文本和超链接url)和其他两个文本属性,每个项目的长度随页面而异,最大长度为30个项目 该服务很好地实现了这一功能,但是速度有点慢,大约每小时300页。我目前正在抓取多达150000页的时间敏感数据(我必须在几天内使用这些数据,否则它会变得“过时”),我预计这个数字会增长几倍。我的解决办法是几十次克隆这些scraper,并在一小部分URL上同时运

我目前正在使用一个服务,该服务提供了一个简单易用的API来设置用于数据提取的web scraper。提取相当简单:从一个项目列表中的每个项目中获取标题(文本和超链接url)和其他两个文本属性,每个项目的长度随页面而异,最大长度为30个项目

该服务很好地实现了这一功能,但是速度有点慢,大约每小时300页。我目前正在抓取多达150000页的时间敏感数据(我必须在几天内使用这些数据,否则它会变得“过时”),我预计这个数字会增长几倍。我的解决办法是几十次克隆这些scraper,并在一小部分URL上同时运行它们,但这会使过程复杂得多

我的问题是,使用Scrapy(或其他解决方案)编写我自己的刮板并在我自己的计算机上运行它是否会获得比这更高的性能,或者,在一台规格良好的家用计算机(连接到80mbit向下、8mbit向上的连接)上,这个数量级根本不在Scrapy、Selenium等解决方案的范围内


谢谢

你没有提供你想要搜刮的网站,所以我只能根据我的常识回答

我同意Scrapy应该能跑得更快

使用Bulk Extract import.io肯定更快,我在一分钟内提取了300个URL,您可能想试试


您确实需要尊重网站TOU。

花费的大部分时间将是网络延迟,您可以通过多线程/多进程解决这一问题。Selenium总是比较慢,因为它会加载额外的资产。Scrapy使用Twisted进行异步操作,并且它可以实现比每小时300个请求更高的速度。我预计每小时超过10公里。一定要当心禁令。谢谢!因此,最终的答案是,“是的,速度会快得多,”但不使用服务会导致网站被禁止,这些网站是家得宝、劳氏、玩具反斗城等大型店面。我将在考虑服务器的同时,进一步探讨如何做到这一点:]