首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >BeautifulSoup和Scrapy crawler有什么区别?

BeautifulSoup和Scrapy crawler有什么区别?
EN

Stack Overflow用户
提问于 2013-10-30 23:43:24
回答 9查看 80K关注 0票数 146

我想做一个网站,显示亚马逊和易趣产品价格的比较。其中哪一个会工作得更好?为什么?我对BeautifulSoup比较熟悉,但对Scrapy crawler不太熟悉。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2013-11-02 03:41:41

Scrapy 是一个网络蜘蛛或网络爬虫框架,你给Scrapy一个根网址开始抓取,然后你可以指定限制你想抓取和抓取多少(数量) URL等。它是一个完整的网络抓取或抓取框架。

BeautifulSoup是一个解析库,它也可以很好地从URL中获取内容,并允许您轻松地解析其中的某些部分。它只获取您提供的URL的内容,然后停止。它不会爬行,除非您手动将其放入具有特定条件的无限循环中。

简单地说,使用Beautiful Soup可以构建类似于Scrapy的东西。Beautiful是一个,而Scrapy是一个完整的框架

Source

票数 254
EN

Stack Overflow用户

发布于 2013-10-30 23:49:30

我觉得两个都很好。我现在正在做一个使用两者的项目。首先,我使用scrapy销毁所有页面,并使用它们的管道将其保存在mongodb集合中,同时还下载页面上存在的图像。之后,我使用BeautifulSoup4进行后期处理,其中我必须更改属性值并获取一些特殊的标记。

如果你不知道你想要哪个页面的产品,一个好的工具将是很粗糙的,因为你可以使用他们的爬虫来运行所有的amazon/ebay网站来寻找产品,而不需要显式的for循环。

看一下scrapy文档,它非常容易使用。

票数 20
EN

Stack Overflow用户

发布于 2019-08-13 17:28:13

是一个web抓取框架,它提供了大量的好东西,使得抓取变得更容易,这样我们就可以只关注抓取逻辑了。下面是我最喜欢的scrapy为我们做的一些事情。

  • Feed exports:它基本上允许我们以各种格式保存数据,如CSV、JSON、jsonline和XML。
  • 异步抓取: Scrapy使用扭曲的框架,让我们能够一次访问多个request).
  • Selectors:,其中每个请求都是以非阻塞的方式处理的(基本上我们不必在发送另一个urls之前等待请求完成,这就是我们可以将scrapy与漂亮的汤进行比较的地方。选择器允许我们从网页中选择特定的数据,如标题、带有类名的特定div等)。Scrapy使用lxml进行解析,这比漂亮的soup.
  • Setting代理、用户代理、头文件等要快得多: scrapy允许我们设置和旋转代理,而其他头文件dynamically.
  • Item Pipelines:Pipeline使我们能够在提取后处理数据。例如,我们可以配置管道将数据推送到您的mysql server.
  • Cookies: scrapy自动为我们处理cookies。

等。

scrapy TLDR:

是一个框架,它提供了构建大规模爬虫所需的一切。它提供了各种功能,隐藏了爬网的复杂性。人们可以简单地开始编写网络爬虫,而不用担心设置的负担。

Python是一个用于解析文档的Python包。因此,使用Beautiful soup,您可以解析已经下载的网页。BS4很受欢迎,而且很老。与scrapy不同的是,你不能只用漂亮的汤来让爬虫。你还需要其他的库,比如requests,urllib等来用bs4制作爬虫。同样,这意味着你需要管理被抓取的urls列表,抓取,处理cookies,管理代理,处理错误,创建自己的函数来将数据推送到CSV,JSON,XML等。如果你想要更快,你将不得不使用其他库,如multiprocessing

要而论之。

Scrapy是一个丰富的框架,你可以用它来开始编写没有任何hassale.

  • Beautiful的爬虫,
  • 是一个你可以用来解析网页的库。它不能单独用于抓取网络。

你绝对应该在亚马逊和易趣的产品价格比较网站上使用scrapy。你可以建立一个urls数据库,并每天运行爬虫(cron作业,用于计划爬行的芹菜),并在你的database.This上更新价格,你的网站总是从数据库中提取,爬虫和数据库将作为单独的组件。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19687421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档