我想建立一个网站,显示亚马逊和e-bay产品价格之间的比较。 哪个更好,为什么?我对 BeautifulSoup 有些熟悉,但对 Scrapy crawler 并不熟悉。
答案 0 :(得分:204)
Scrapy 是一个Web蜘蛛或 Web scraper框架,您给Scrapy一个根URL开始抓取,然后您可以指定约束数量(数量)您要抓取和获取的网址等。它是一个完整的网络抓取框架或抓取。
虽然
BeautifulSoup 是一个解析库,它也可以很好地从URL中获取内容,并允许您轻松解析它们的某些部分。它只获取您提供的URL的内容然后停止。除非您手动将其置于具有特定条件的无限循环内,否则它不会爬行。
简单来说,使用Beautiful Soup可以构建类似于Scrapy的东西。 美丽的汤是库,而Scrapy是完整的框架。
来源:http://www.quora.com/Python-programming-language-1/How-is-BeautifulSoup-different-from-Scrapy
答案 1 :(得分:18)
我认为两者都很好......我正在做一个同时使用两者的项目。首先,我使用scrapy废弃所有页面,并使用他们的管道将其保存在mongodb集合中,同时下载页面上存在的图像。 之后,我使用BeautifulSoup4进行pos处理,我必须更改属性值并获得一些特殊标签。
如果你不知道你想要哪些产品,那么一个好的工具就是scrapy,因为你可以使用他们的抓取工具来运行所有amazon / ebay网站,寻找产品而不需要明确的循环。
看一下scrapy文档,它使用起来非常简单。
答案 2 :(得分:3)
我这样做的方法是使用eBay / Amazon API而不是scrapy,然后使用BeautifulSoup解析结果。
API为您提供了一种获取scrapy crawler所获得的相同数据的官方方式,无需担心隐藏您的身份,搞乱代理等等。
答案 3 :(得分:3)
两者都用于解析数据。
<强> Scrapy 强>:
<强> BeautifulSoup 强>:
Beautiful Soup是一个用于从HTML和HTML中提取数据的Python库 XML文件。
我们可以使用这个包从java脚本中获取数据 动态加载页面。
使用BeautifulSoup进行Scrapy是我们可以用来抓取静态和动态内容的最佳组合之一
答案 4 :(得分:1)
Scrapy 这是一个网络抓取框架,其中包含大量的功能,使抓取变得更加容易,因此我们只能专注于爬网逻辑。下面是我最喜欢的一些scrapy照顾我们的事情。
设置代理,用户代理,标题等:scrapy允许我们动态设置和旋转代理以及其他标题。
Item Pipelines:管道使我们能够在提取后处理数据。例如,我们可以配置管道以将数据推送到您的mysql服务器。
Cookies:scrapy会自动为我们处理cookie。
等
TLDR:scrapy是一个框架,可提供可能的所有内容 需要构建大规模爬网。它提供了各种功能, 隐藏了爬网的复杂性。一个人可以开始写网页 爬虫而无需担心安装负担。
Beautiful soup Beautiful Soup是用于解析HTML和XML文档的Python软件包。因此,使用Beautiful汤,您可以解析一个已经下载的网页。 BS4非常受欢迎且古老。与强壮的人不同,您不能只用美丽的汤做爬虫。您将需要其他库(例如request,urllib等)来使bs4成为爬虫。同样,这意味着您需要管理要爬网的URL列表,要爬网的URL,处理Cookie,管理代理,处理错误,创建自己的函数以将数据推送到CSV,JSON,XML等。如果要加快速度您将不必使用multiprocessing之类的其他库。
总结。
Scrapy是一个丰富的框架,可用于开始编写搜寻器 没有任何麻烦。
美丽的汤是一个可用于解析网页的库。它 不能单独用来刮网。
您绝对应该在Amazon和e-bay产品价格比较网站上使用scrapy。您可以建立一个url数据库并每天运行爬虫(cron作业,Celery用于计划爬虫)并更新数据库的价格。这样,您的网站将始终从数据库中提取,爬虫和数据库将作为单独的组件。
答案 5 :(得分:1)
BeautifulSoup 是一个库,可让您从网页中提取信息。
另一方面,Scrapy 是一个框架,它可以执行上述操作以及您在抓取项目中可能需要的其他事情,例如用于保存数据的管道。
您可以检查此博客以开始使用Scrapy https://www.inkoop.io/blog/web-scraping-using-python-and-scrapy/
答案 6 :(得分:0)
使用 scrapy ,您可以节省大量代码并从结构化编程开始,如果您不喜欢任何scapy预先编写的方法,那么 BeautifulSoup 可以用于替代scrapy方法。 大项目有两个好处。
答案 7 :(得分:0)
差异很多,选择任何工具/技术都取决于个人需求。
几个主要区别是:
答案 8 :(得分:0)
Beautifulsoup 是一个网页抓取小型图书馆。它可以完成您的工作,但有时它不能满足您的需求。我的意思是,如果您抓取大量数据的网站,那么在这种情况下,beautifulsoup 会失败。
在这种情况下,您应该使用 Scrapy,它是一个完整的抓取框架,可以完成您的工作。 同样scrapy支持数据库(所有类型的数据库)所以它是一个巨大的 与其他网络抓取库相比。
答案 9 :(得分:-1)