python都有哪些常见的,好用的爬虫框架

author author     2023-05-12     695

关键词:

网络爬虫的抓取策略有很多种,按照系统结构和实现技术,大致可以分为以下几种:通用网络爬虫(GeneralPurposeWebCrawler)、聚焦网络爬虫(FocusedWebCrawler)、增量式网络爬虫(IncrementalWebCrawler)、深层网络爬虫(DeepWebCrawler)。
增量式网络爬虫是指对已下载网页采取增量式更新和只爬行新产生的或者已经发生变化网页的爬虫,它能够在一定程度上保证所爬行的页面是尽可能新的页面。
一般网络爬虫的爬行范围和数量很大,爬行速度和存储空间要求很高,爬行页面的顺序也比较低。同时,由于需要刷新的页面太多,通常采用并行工作,但刷新一页需要很长时间。
聚焦网络爬虫是指选择性地爬行与预定义主题相关的网络爬虫。与普通网络爬虫相比,聚焦爬虫只需爬行与主题相关的网页,大大节省了硬件和网络资源,保存的网页也因数量少而更新快,还能很好地满足一些特定人群对特定领域信息的需求。
DeepWeb爬虫,也就是深层网页爬虫,在深层网页容量是表层网页的数百倍,是互联网上最大、发展最快的新信息资源。
参考技术A 由于项目需求收集并使用过一些爬虫相关库,做过一些对比分析。以下是我接触过的一些库:

Beautiful Soup。名气大,整合了一些常用爬虫需求。缺点:不能加载JS。
Scrapy。看起来很强大的爬虫框架,可以满足简单的页面爬取(比如可以明确获知url pattern的情况)。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如weibo的页面信息,这个框架就满足不了需求了。
mechanize。优点:可以加载JS。缺点:文档严重缺失。不过通过官方的example以及人肉尝试的方法,还是勉强能用的。
selenium。这是一个调用浏览器的driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。
cola。一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高,不过值得借鉴。

以下是我的一些实践经验:

对于简单的需求,比如有固定pattern的信息,怎么搞都是可以的。
对于较为复杂的需求,比如爬取动态页面、涉及状态转换、涉及反爬虫机制、涉及高并发,这种情况下是很难找到一个契合需求的库的,很多东西只能自己写。

至于题主提到的:
还有,采用现有的Python爬虫框架,相比与直接使用内置库,优势在哪?因为Python本身写爬虫已经很简单了。
third party library可以做到built-in library做不到或者做起来很困难的事情,仅此而已。还有就是,爬虫简不简单,完全取决于需求,跟Python是没什么关系的。
参考技术B Requests啊,常见又好用

python的爬虫框架都有哪些?

向大家推荐十个Python爬虫框架。 1、Scrapy:Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。它是很强大的爬虫框架,可以满足简单... 查看详情

用python写爬虫都有哪些框架?

...页面信息,这个框架就满足不了需求。2、pyspider是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置... 查看详情

python的应用领域都有哪些

Python是一门简单、易学并且很有前途的编程语言,很多人都对Python感兴趣,但是当学完Python基础用法之后,又会产生迷茫,尤其是自学的人员,不知道接下来的Python学习方向,以及学完之后能干些什么?以下是Python十大应用领域... 查看详情

学习python就业都有哪些方向?

Python的就业方向主要分为五大块,分别是:发展方向一:Linux运维发展方向二:PythonWeb网站工程师发展方向三:Python自动化测试发展方向四:数据分析发展方向五:人工智能Python具体会涉及到的职业岗位主要有:0、WEB开发Python拥... 查看详情

python的就业方向都有哪些?

Python的就业方向有很多,但是只有选择适合自己的才能支撑自己走得更远。1、常规软件开发Python支持函数式编程和OOP面向对象编程,能够承担任何种类软件的开发工作,因此常规的软件开发、脚本编写、网络编程等都属于标配... 查看详情

python爬虫的入门教程都有哪些值得推荐的?

Python爬虫的入门教程有很多,以下是我推荐的几本:1.《Python网络爬虫开发实战》:这本书介绍了Python爬虫的基本原理,以及如何使用Python编写爬虫程序,实现网络爬虫的功能。2.《Python爬虫技术实战》:这本书介绍了Python爬虫... 查看详情

go写的爬虫相比python写的都有哪些优势

Go没有泄露,并发原生支持,速度快。Python如果用代理IP,如果代理IP失效,会莫名其妙使用本地IP。且Go写爬虫可以和很多的数据库如mongo,redis,hbase,mysql集成。Go开发效率还高,半个小时就写了个爬虫,看,写分布式爬虫也是Go的... 查看详情

python编程都有哪些就业岗位?

Python编程被称为编程语言中的万能胶水,一是Python有很多数据包,可谓方便至极;另一方面Python现在越来越火,现在人工智能已经被教育部新设专业,竞争越来越剧烈。那么,Python编程有哪些就业岗位呢?分享Python的7个就业方向。... 查看详情

python学习,需要都有哪些基础呢?

Python学习路线。第一阶段Python基础与Linux数据库。这是Python的入门阶段,也是帮助零基础学员打好基础的重要阶段。你需要掌握Python基本语法规则及变量、逻辑控制、内置数据结构、文件操作、高级函数、模块、常用标准库模块... 查看详情

2021年巨热门的python爬虫框架大推荐

Python爬虫框架的优点真是说也说不完,它可以让程序员以更少的代码实现自定义功能,还可以将更多的精力集中在业务逻辑上,更加的轻松便利。因此本文将为大家推荐十款常见且好用的爬虫框架。一、ScrapyScrapy是一... 查看详情

2021年巨热门的python爬虫框架大推荐

Python爬虫框架的优点真是说也说不完,它可以让程序员以更少的代码实现自定义功能,还可以将更多的精力集中在业务逻辑上,更加的轻松便利。因此本文将为大家推荐十款常见且好用的爬虫框架。一、ScrapyScrapy是一... 查看详情

想做一个python工程师,都有哪些技能是必备的?

Python转行难吗参考技术A跟大家分享一份系统的python学习路线图!第一阶段Python基础与Linux数据库。这是Python的入门阶段,也是帮助零基础学员打好基础的重要阶段。你需要掌握Python基本语法规则及变量、逻辑控制、内置数据结构... 查看详情

java都有哪些好用的rest框架

...入到你的项目中,无需外部的server。所有的Dropwizard项目都有一个main方法来管理内建的HTTPserver.2JerseyJerseyRESTful框架是开源的RESTful框架,实现了JAX-RS(JSR311&JSR339)规范。它扩展了JAX-RS参考实现,提供了更多的特性和工具,可以进一步... 查看详情

最常用python开源框架都有哪些

...比较困难。 参考技术B从GitHub中整理出的15个最受欢迎的Python开源框架。这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。Django:PythonWeb应用开发框架Django应该是最出名的Python框架,GAE甚至Erlang都有框架受它影... 查看详情

python基础爬虫项目都有哪些?

...手的项目,面试中会大大的加分。下面小编就来跟大讲讲python的爬虫项目有哪些以及该学点什么内容。wesome-spider这一项目收集了100多个爬虫,默认使用了Python作为爬虫语言。你既可以在这个项目中,找到爬取Bilibili视频的爬虫,... 查看详情

node.js上除了express还有哪些好用的web开发框架

 老司机都有体会, 开发本身没有多难, 最纠结其实是最初的技术和框架选型, 本没有绝对的好坏之分, 可一旦选择了不适合于自己业务场景的框架, 将来木已成舟后开发和维护成本都很高, 等发现不合适的... 查看详情

python啥爬虫库好用?

...以轻松实现自动转码,对于中文编码就很方便了。asks:Python自带一个异步的标准库asyncio,但这个库很多人觉得并不好用,而里面的ask则是封装了curio和trio的一个http请求库。用起来和Requests90%相似,新手也可以很快上手。vibora:... 查看详情

python的就业方向都有哪些

1、人工智能:Python语言是人工智能时代的首选语言,人工智能的时代即将到来,也会带领大家进入一个全新的时代之中。在Python语言中,人工智能是非常主要的发展方向,也是非常具有潜力和发展前景的,薪资待遇也是非常高... 查看详情