首页 > 编程知识 正文

scrapy框架(bs4爬虫简书)

时间:2023-05-06 05:53:44 阅读:88719 作者:955

最近我很烦,我很烦,我很烦。

声明:只是为了学习而总结,也只是为了让更多人看到而刊登在标题上,绝非软文章。

斯克拉普

利用Scrapy、python开发的高速、高级的屏幕捕获框架,捕获网站,从页面中提取结构化数据。 Scrapy定义了基本的爬虫框架,包括引擎、调度器、下载器、蜘蛛、项目流水线、下载器、蜘蛛中间件和调度中间件。 这些组件各自担任职务,引擎主要负责数据流的控制和处理,处于核心地位,调度程序接受引擎的请求并将其推入队列,在引擎再次请求时返回。 下载器主要根据url捕获整个网页,蜘蛛定义我们分析网页的规则。 项目流水线负责处理蜘蛛从网页中提取的项目,他的主要任务是明确、验证和保存数据。 页面被蜘蛛解析后,会被发送到项目的管线,以几个特定的顺序处理数据。

scrapy的定位是为了抓住一个网站固定格式的内容,例如抓住小说网站的小说,或者抓住电子商务网站的商品。

通过以下过程,可以大致了解Scrapy是如何工作的。

从初始URL开始,调度程序下载它。 下载完成后交给spider处理。 spider分析后,有两种类型的链接结果需要继续捕获,如下一页所示。 这个结果需要交给调度程序。 另一个结果是需要保存的数据,它们被发送到ItemPipeline,对数据进行后处理。

优点:基本爬虫框架齐全,只需要填写自己的规则,结构清晰。

优点:在支撑后回环上可能没有什么效果。

scrapy的并行度不高

scrapy的内存消耗量很大

BS4

BS4全部称为Beautiful Soup,是python用于分析网页的附带包。 解析方式为html、xml、lxml等方式,通过解析为DOM数,可以进行页面要素的定位。

优点:简单,容易得到

优点: BS4由于层次关系相继到达目标标签,因此速度慢、分析数据慢。

西门子公司

Selenium是一种自动化测试工具,爬虫使用的最大原因是,面对动态加载的页面时,Selenium的网页驱动程序可以启动火狐和谷歌等浏览器进行渲染。 当然,渲染需要一段时间,需要爬上页面元素直到整个页面加载完毕。 获取加载的页面元素后,可以使用Scrapy的选择器或BS4放置该元素。 当然,也可以使用Selenium的find_elements_by_xpath (,find_elements_by_name )等来定位元素

能够抓住捕获数据的动态页面,更重要的是与网页的交互能力,可以模拟登录、提交表格、模拟鼠标点击、输入键盘等。

优点:避免动态页面爬虫、页面交互能力、支撑后回环。 因为真的要模拟用户打开浏览器的操作

缺点:数据爬得慢。

Selenium和pantomj还可以组合使用,以模拟浏览器和渲染页面,而无需打开浏览器。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。